@appkit/llamacpp-cli 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/MONITORING-ACCURACY-FIX.md +199 -0
- package/PER-PROCESS-METRICS.md +190 -0
- package/README.md +57 -8
- package/dist/cli.js +9 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +12 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/monitor.d.ts.map +1 -1
- package/dist/commands/monitor.js +51 -1
- package/dist/commands/monitor.js.map +1 -1
- package/dist/commands/ps.d.ts +3 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +75 -5
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/server-show.d.ts.map +1 -1
- package/dist/commands/server-show.js +10 -3
- package/dist/commands/server-show.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +14 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/history-manager.d.ts +46 -0
- package/dist/lib/history-manager.d.ts.map +1 -0
- package/dist/lib/history-manager.js +157 -0
- package/dist/lib/history-manager.js.map +1 -0
- package/dist/lib/metrics-aggregator.d.ts +2 -1
- package/dist/lib/metrics-aggregator.d.ts.map +1 -1
- package/dist/lib/metrics-aggregator.js +15 -4
- package/dist/lib/metrics-aggregator.js.map +1 -1
- package/dist/lib/system-collector.d.ts +9 -4
- package/dist/lib/system-collector.d.ts.map +1 -1
- package/dist/lib/system-collector.js +29 -28
- package/dist/lib/system-collector.js.map +1 -1
- package/dist/tui/HistoricalMonitorApp.d.ts +5 -0
- package/dist/tui/HistoricalMonitorApp.d.ts.map +1 -0
- package/dist/tui/HistoricalMonitorApp.js +490 -0
- package/dist/tui/HistoricalMonitorApp.js.map +1 -0
- package/dist/tui/MonitorApp.d.ts.map +1 -1
- package/dist/tui/MonitorApp.js +84 -62
- package/dist/tui/MonitorApp.js.map +1 -1
- package/dist/tui/MultiServerMonitorApp.d.ts +1 -1
- package/dist/tui/MultiServerMonitorApp.d.ts.map +1 -1
- package/dist/tui/MultiServerMonitorApp.js +293 -77
- package/dist/tui/MultiServerMonitorApp.js.map +1 -1
- package/dist/types/history-types.d.ts +30 -0
- package/dist/types/history-types.d.ts.map +1 -0
- package/dist/types/history-types.js +11 -0
- package/dist/types/history-types.js.map +1 -0
- package/dist/types/monitor-types.d.ts +1 -0
- package/dist/types/monitor-types.d.ts.map +1 -1
- package/dist/types/server-config.d.ts +1 -0
- package/dist/types/server-config.d.ts.map +1 -1
- package/dist/types/server-config.js.map +1 -1
- package/dist/utils/downsample-utils.d.ts +35 -0
- package/dist/utils/downsample-utils.d.ts.map +1 -0
- package/dist/utils/downsample-utils.js +107 -0
- package/dist/utils/downsample-utils.js.map +1 -0
- package/dist/utils/file-utils.d.ts +6 -0
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/file-utils.js +38 -0
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/process-utils.d.ts +19 -1
- package/dist/utils/process-utils.d.ts.map +1 -1
- package/dist/utils/process-utils.js +79 -1
- package/dist/utils/process-utils.js.map +1 -1
- package/docs/images/.gitkeep +1 -0
- package/package.json +3 -1
- package/src/cli.ts +9 -6
- package/src/commands/create.ts +14 -4
- package/src/commands/monitor.ts +21 -1
- package/src/commands/ps.ts +88 -5
- package/src/commands/server-show.ts +10 -3
- package/src/commands/start.ts +15 -2
- package/src/lib/history-manager.ts +172 -0
- package/src/lib/metrics-aggregator.ts +18 -5
- package/src/lib/system-collector.ts +31 -28
- package/src/tui/HistoricalMonitorApp.ts +548 -0
- package/src/tui/MonitorApp.ts +89 -64
- package/src/tui/MultiServerMonitorApp.ts +348 -103
- package/src/types/history-types.ts +39 -0
- package/src/types/monitor-types.ts +1 -0
- package/src/types/server-config.ts +1 -0
- package/src/utils/downsample-utils.ts +128 -0
- package/src/utils/file-utils.ts +40 -0
- package/src/utils/process-utils.ts +85 -1
- package/test-load.sh +100 -0
- package/dist/tui/components/ErrorState.d.ts +0 -8
- package/dist/tui/components/ErrorState.d.ts.map +0 -1
- package/dist/tui/components/ErrorState.js +0 -22
- package/dist/tui/components/ErrorState.js.map +0 -1
- package/dist/tui/components/LoadingState.d.ts +0 -8
- package/dist/tui/components/LoadingState.d.ts.map +0 -1
- package/dist/tui/components/LoadingState.js +0 -21
- package/dist/tui/components/LoadingState.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.6.0](https://github.com/appkitstudio/llamacpp-cli/compare/v1.5.0...v1.6.0) (2026-01-17)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add full-hour downsampling functions and enhance multi-server monitor UI with dynamic server ID width ([ae2862a](https://github.com/appkitstudio/llamacpp-cli/commit/ae2862acba905cddf60f0e7c30f6a7867391a5e2))
|
|
11
|
+
* add GPU memory tracking to server monitoring ([bc59c6a](https://github.com/appkitstudio/llamacpp-cli/commit/bc59c6a74580e428ab674167146caea47d8a32c1))
|
|
12
|
+
* enhance monitoring functionality with server status updates and improved resource tracking ([45fb833](https://github.com/appkitstudio/llamacpp-cli/commit/45fb833da5efe023a2271e7bd12d780a71474629))
|
|
13
|
+
* enhance multi-server monitor UI with improved navigation and selection indicators ([9e57cfb](https://github.com/appkitstudio/llamacpp-cli/commit/9e57cfb8ce93a2c561981598cf75f0e4ff1a477d))
|
|
14
|
+
* enhance server monitoring with interactive dashboard and improved metrics display ([fba8d79](https://github.com/appkitstudio/llamacpp-cli/commit/fba8d79ee58ecd7ccfe02e319ae7bf5474b591df))
|
|
15
|
+
* implement per-process metrics for historical monitoring accuracy ([cc59df0](https://github.com/appkitstudio/llamacpp-cli/commit/cc59df069775031de1bfacdeb3a462a17610e4eb))
|
|
16
|
+
* improve historical monitoring UI with faster refresh rate and enhanced display elements ([e0ce04b](https://github.com/appkitstudio/llamacpp-cli/commit/e0ce04ba258f6d945a977c39f056ba22cb324c70))
|
|
17
|
+
|
|
5
18
|
## [1.5.0](https://github.com/appkitstudio/llamacpp-cli/compare/v1.4.1...v1.5.0) (2026-01-13)
|
|
6
19
|
|
|
7
20
|
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Historical Monitoring Accuracy Fix
|
|
2
|
+
|
|
3
|
+
**STATUS:** This document describes the initial fix attempt for memory calculations. However, the root issue was that historical monitoring was showing **system-wide metrics** instead of **per-process metrics**. See `PER-PROCESS-METRICS.md` for the correct implementation.
|
|
4
|
+
|
|
5
|
+
## Issue Summary
|
|
6
|
+
|
|
7
|
+
Comparison between our historical monitoring and macmon revealed discrepancies in memory usage calculations.
|
|
8
|
+
|
|
9
|
+
## Issues Identified
|
|
10
|
+
|
|
11
|
+
### 1. Memory Total Calculation (CRITICAL)
|
|
12
|
+
|
|
13
|
+
**Problem:** Total memory was calculated by summing all vm_stat page counts, which doesn't equal the actual installed RAM.
|
|
14
|
+
|
|
15
|
+
**Evidence:**
|
|
16
|
+
- Historical monitor showed: ~60% memory usage
|
|
17
|
+
- macmon showed: 26.86 / 32.0 GB = ~84% memory usage
|
|
18
|
+
- The denominator (32.0 GB installed RAM) was being calculated incorrectly
|
|
19
|
+
|
|
20
|
+
**Root Cause:**
|
|
21
|
+
```typescript
|
|
22
|
+
// OLD CODE (INCORRECT)
|
|
23
|
+
const totalPages = pagesActive + pagesWired + pagesCompressed +
|
|
24
|
+
pagesFree + pagesInactive + pagesSpeculative;
|
|
25
|
+
const memoryTotal = totalPages * pageSize;
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This approach has fundamental flaws:
|
|
29
|
+
- vm_stat doesn't report all memory categories (kernel reserved, etc.)
|
|
30
|
+
- Page counts don't sum to actual installed RAM
|
|
31
|
+
- Results in artificially inflated "total" value
|
|
32
|
+
- Makes memory usage appear lower than reality
|
|
33
|
+
|
|
34
|
+
**Fix:**
|
|
35
|
+
```typescript
|
|
36
|
+
// NEW CODE (CORRECT)
|
|
37
|
+
// Get total installed RAM from sysctl (accurate)
|
|
38
|
+
const memoryTotal = await execCommand('sysctl -n hw.memsize 2>/dev/null');
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Use `sysctl hw.memsize` to get actual installed RAM size in bytes. This matches what Activity Monitor and macmon report.
|
|
42
|
+
|
|
43
|
+
### 2. Memory Used Calculation (VERIFIED CORRECT)
|
|
44
|
+
|
|
45
|
+
**Current approach:**
|
|
46
|
+
```typescript
|
|
47
|
+
// Used = Active + Wired + Compressed
|
|
48
|
+
const usedPages = pagesActive + pagesWired + pagesCompressed;
|
|
49
|
+
const memoryUsed = usedPages * pageSize;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This formula is **correct** and matches what Activity Monitor and macmon report as "used memory".
|
|
53
|
+
|
|
54
|
+
- **Active:** Recently used memory
|
|
55
|
+
- **Wired:** Kernel memory that can't be paged out
|
|
56
|
+
- **Compressed:** Compressed pages in RAM
|
|
57
|
+
|
|
58
|
+
We removed the calculation of unused page types (free, inactive, speculative) since they're not needed.
|
|
59
|
+
|
|
60
|
+
### 3. CPU Calculation (VERIFIED CORRECT)
|
|
61
|
+
|
|
62
|
+
**Formula:**
|
|
63
|
+
```typescript
|
|
64
|
+
cpuUsage = ((pcpuUsage * pCoreCount) + (ecpuUsage * eCoreCount)) / totalCores * 100
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This weighted average is mathematically correct:
|
|
68
|
+
- macmon reports per-core-type averages (P-CPU: 25%, E-CPU: 36%)
|
|
69
|
+
- Formula computes overall system average: `(25% × 6 + 36% × 4) / 10 = 29.4%`
|
|
70
|
+
- Historical average of 33% is reasonable given fluctuations over time
|
|
71
|
+
|
|
72
|
+
### 4. GPU Calculation (VERIFIED CORRECT)
|
|
73
|
+
|
|
74
|
+
**Observation:**
|
|
75
|
+
- Historical: Avg: 1.8%, Max: 4.0%, Min: 0.6%
|
|
76
|
+
- macmon snapshot: GPU 4%
|
|
77
|
+
|
|
78
|
+
This is **expected behavior**:
|
|
79
|
+
- GPU is mostly idle (0-2%) between inference requests
|
|
80
|
+
- Spikes to 4% during active token generation
|
|
81
|
+
- Average of 1.8% correctly reflects mostly-idle state
|
|
82
|
+
- Max of 4.0% matches macmon's instantaneous reading
|
|
83
|
+
|
|
84
|
+
## Changes Made
|
|
85
|
+
|
|
86
|
+
### `src/lib/system-collector.ts`
|
|
87
|
+
|
|
88
|
+
**1. Removed total memory calculation from vm_stat parsing:**
|
|
89
|
+
```typescript
|
|
90
|
+
// Now only returns memoryUsed
|
|
91
|
+
private parseVmStatOutput(output: string): { memoryUsed: number }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**2. Added method to get actual installed RAM:**
|
|
95
|
+
```typescript
|
|
96
|
+
private async getTotalMemory(): Promise<number> {
|
|
97
|
+
const output = await execCommand('sysctl -n hw.memsize 2>/dev/null');
|
|
98
|
+
return parseInt(output.trim(), 10) || 0;
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**3. Combined both sources in new method:**
|
|
103
|
+
```typescript
|
|
104
|
+
private async getMemoryMetrics(): Promise<{
|
|
105
|
+
memoryUsed: number;
|
|
106
|
+
memoryTotal: number;
|
|
107
|
+
}> {
|
|
108
|
+
// Get used memory from vm_stat (active + wired + compressed)
|
|
109
|
+
const vmStatOutput = await execCommand('vm_stat 2>/dev/null');
|
|
110
|
+
const { memoryUsed } = this.parseVmStatOutput(vmStatOutput);
|
|
111
|
+
|
|
112
|
+
// Get total installed RAM from sysctl (accurate)
|
|
113
|
+
const memoryTotal = await this.getTotalMemory();
|
|
114
|
+
|
|
115
|
+
return { memoryUsed, memoryTotal };
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**4. Updated collector to use new method:**
|
|
120
|
+
```typescript
|
|
121
|
+
// Always get memory from vm_stat + sysctl (accurate total from sysctl)
|
|
122
|
+
const memoryMetrics = await this.getMemoryMetrics();
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Verification
|
|
126
|
+
|
|
127
|
+
After these changes, memory usage should now accurately match macmon and Activity Monitor:
|
|
128
|
+
|
|
129
|
+
**Before:**
|
|
130
|
+
- Total: Calculated from page sum (~40 GB equivalent)
|
|
131
|
+
- Used: 26.86 GB
|
|
132
|
+
- **Percentage: ~60% (WRONG)**
|
|
133
|
+
|
|
134
|
+
**After:**
|
|
135
|
+
- Total: 32.0 GB (from `sysctl hw.memsize`)
|
|
136
|
+
- Used: 26.86 GB (from vm_stat)
|
|
137
|
+
- **Percentage: ~84% (CORRECT)**
|
|
138
|
+
|
|
139
|
+
## Testing Recommendations
|
|
140
|
+
|
|
141
|
+
1. **Compare with macmon:**
|
|
142
|
+
```bash
|
|
143
|
+
# Terminal 1: Run macmon
|
|
144
|
+
macmon
|
|
145
|
+
|
|
146
|
+
# Terminal 2: Monitor server
|
|
147
|
+
npm run dev -- server monitor <server-id>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Memory percentages should now match within 1-2%.
|
|
151
|
+
|
|
152
|
+
2. **Compare with Activity Monitor:**
|
|
153
|
+
- Open Activity Monitor → Memory tab
|
|
154
|
+
- Check "Memory Used" value
|
|
155
|
+
- Should match historical monitor's memory calculation
|
|
156
|
+
|
|
157
|
+
3. **Verify historical data:**
|
|
158
|
+
```bash
|
|
159
|
+
# View historical metrics (press H in monitor)
|
|
160
|
+
npm run dev -- server monitor <server-id>
|
|
161
|
+
# Press 'H' to toggle historical view
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Memory usage should now show realistic values (~80-90% on actively used system).
|
|
165
|
+
|
|
166
|
+
4. **Check edge cases:**
|
|
167
|
+
- Fresh boot (low memory usage ~30-40%)
|
|
168
|
+
- Under load (high memory usage ~85-95%)
|
|
169
|
+
- Multiple servers running (memory should increase proportionally)
|
|
170
|
+
|
|
171
|
+
## Impact on Historical Data
|
|
172
|
+
|
|
173
|
+
**Note:** Existing historical data was collected with the old (incorrect) calculation.
|
|
174
|
+
|
|
175
|
+
**Options:**
|
|
176
|
+
|
|
177
|
+
1. **Keep old data as-is** (recommended for now)
|
|
178
|
+
- Historical charts will show old incorrect baseline
|
|
179
|
+
- New data will be accurate going forward
|
|
180
|
+
- Natural transition over 24 hours as old data ages out
|
|
181
|
+
|
|
182
|
+
2. **Clear history and start fresh:**
|
|
183
|
+
```bash
|
|
184
|
+
rm ~/.llamacpp/history/*.json
|
|
185
|
+
```
|
|
186
|
+
- Immediate accuracy
|
|
187
|
+
- Lose historical context
|
|
188
|
+
|
|
189
|
+
## Related Files
|
|
190
|
+
|
|
191
|
+
- `src/lib/system-collector.ts` - System metrics collection (MODIFIED)
|
|
192
|
+
- `src/lib/history-manager.ts` - History persistence (unchanged)
|
|
193
|
+
- `src/tui/HistoricalMonitorApp.ts` - Historical UI (unchanged)
|
|
194
|
+
|
|
195
|
+
## References
|
|
196
|
+
|
|
197
|
+
- macOS `vm_stat` documentation: Reports memory in pages (16KB on Apple Silicon)
|
|
198
|
+
- macOS `sysctl` documentation: `hw.memsize` reports installed RAM in bytes
|
|
199
|
+
- Activity Monitor algorithm: Uses active + wired + compressed for "Memory Used"
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Per-Process Metrics Implementation
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Historical monitoring now shows **per-process metrics** for the specific llama-server being monitored, rather than system-wide metrics. This provides accurate resource usage for each model.
|
|
6
|
+
|
|
7
|
+
## What Changed
|
|
8
|
+
|
|
9
|
+
### Before (System-Wide)
|
|
10
|
+
- **GPU Usage:** All processes combined
|
|
11
|
+
- **CPU Usage:** All processes combined
|
|
12
|
+
- **Memory Usage:** All processes combined (% of total RAM)
|
|
13
|
+
|
|
14
|
+
### After (Per-Process)
|
|
15
|
+
- **GPU Usage:** System-wide (unchanged - can't isolate per-process on macOS)
|
|
16
|
+
- **CPU Usage:** Just the llama-server process (from `ps`)
|
|
17
|
+
- **Memory Usage:** Just the llama-server process in GB (from `top`)
|
|
18
|
+
|
|
19
|
+
## Implementation Details
|
|
20
|
+
|
|
21
|
+
### 1. Process Metrics Collection
|
|
22
|
+
|
|
23
|
+
**Added CPU collection (`src/utils/process-utils.ts`):**
|
|
24
|
+
```typescript
|
|
25
|
+
// Batch collection for efficiency
|
|
26
|
+
export async function getBatchProcessCpu(pids: number[]): Promise<Map<number, number | null>>
|
|
27
|
+
|
|
28
|
+
// Single process collection
|
|
29
|
+
export async function getProcessCpu(pid: number): Promise<number | null>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Features:**
|
|
33
|
+
- Uses `ps -p <pid> -o %cpu` to get per-process CPU percentage
|
|
34
|
+
- 3-second cache to prevent excessive process spawning
|
|
35
|
+
- Batch collection for multi-server monitoring
|
|
36
|
+
- Returns percentage (0-100+, can exceed 100% on multi-core)
|
|
37
|
+
|
|
38
|
+
### 2. Type Updates
|
|
39
|
+
|
|
40
|
+
**ServerMetrics interface (`src/types/monitor-types.ts`):**
|
|
41
|
+
```typescript
|
|
42
|
+
export interface ServerMetrics {
|
|
43
|
+
// ... existing fields
|
|
44
|
+
processMemory?: number; // Already existed
|
|
45
|
+
processCpuUsage?: number; // NEW: Per-process CPU %
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**HistorySnapshot interface (`src/types/history-types.ts`):**
|
|
50
|
+
```typescript
|
|
51
|
+
export interface HistorySnapshot {
|
|
52
|
+
server: {
|
|
53
|
+
// ... existing fields
|
|
54
|
+
processMemory?: number; // Already existed
|
|
55
|
+
processCpuUsage?: number; // NEW: Per-process CPU %
|
|
56
|
+
};
|
|
57
|
+
system?: {
|
|
58
|
+
// ... system-wide metrics (kept for live monitoring)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 3. Metrics Collection
|
|
64
|
+
|
|
65
|
+
**MetricsAggregator (`src/lib/metrics-aggregator.ts`):**
|
|
66
|
+
- Added `processCpuUsage` parameter to `collectServerMetrics()`
|
|
67
|
+
- Collects CPU in parallel with other metrics
|
|
68
|
+
- Supports batch collection for multi-server scenarios
|
|
69
|
+
|
|
70
|
+
**HistoryManager (`src/lib/history-manager.ts`):**
|
|
71
|
+
- Saves `processCpuUsage` in snapshots
|
|
72
|
+
- Maintains backward compatibility (optional field)
|
|
73
|
+
|
|
74
|
+
### 4. Historical Monitor UI
|
|
75
|
+
|
|
76
|
+
**HistoricalMonitorApp (`src/tui/HistoricalMonitorApp.ts`):**
|
|
77
|
+
|
|
78
|
+
**Chart Changes:**
|
|
79
|
+
|
|
80
|
+
**GPU Usage:**
|
|
81
|
+
- **Unchanged:** Still system-wide
|
|
82
|
+
- **Reason:** macOS doesn't provide per-process GPU metrics easily
|
|
83
|
+
- **Label:** "GPU Usage (%)"
|
|
84
|
+
|
|
85
|
+
**CPU Usage:**
|
|
86
|
+
- **Before:** `snapshot.system.cpuUsage` (system-wide)
|
|
87
|
+
- **After:** `snapshot.server.processCpuUsage` (per-process)
|
|
88
|
+
- **Label:** "Process CPU Usage (%)"
|
|
89
|
+
- **Range:** Not forced to 0-100% (can show >100% for multi-threaded workloads)
|
|
90
|
+
|
|
91
|
+
**Memory Usage:**
|
|
92
|
+
- **Before:** `(system.memoryUsed / system.memoryTotal) * 100` (system-wide %)
|
|
93
|
+
- **After:** `processMemory / (1024 * 1024 * 1024)` (per-process GB)
|
|
94
|
+
- **Label:** "Process Memory Usage (GB)"
|
|
95
|
+
- **Format:** Shows 2 decimal places (e.g., "3.45 GB")
|
|
96
|
+
- **Statistics:** Avg, Max, Min in GB
|
|
97
|
+
|
|
98
|
+
**Multi-Server Comparison:**
|
|
99
|
+
- Table also updated to show per-process CPU and memory
|
|
100
|
+
- Memory column now shows GB instead of %
|
|
101
|
+
|
|
102
|
+
## Benefits
|
|
103
|
+
|
|
104
|
+
1. **Accurate Attribution:** See exactly what each model is using
|
|
105
|
+
2. **Multi-Server Clarity:** Compare resource usage across different models
|
|
106
|
+
3. **Debugging:** Identify which specific model is consuming resources
|
|
107
|
+
4. **Capacity Planning:** Understand per-model requirements
|
|
108
|
+
|
|
109
|
+
## Example Output
|
|
110
|
+
|
|
111
|
+
**Before (System-Wide):**
|
|
112
|
+
```
|
|
113
|
+
CPU Usage (%)
|
|
114
|
+
Avg: 33.0% (±17.4) Max: 86.6% Min: 12.0%
|
|
115
|
+
|
|
116
|
+
Memory Usage (%)
|
|
117
|
+
Avg: 31.0% (±0.6) Max: 31.9% Min: 29.9%
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**After (Per-Process):**
|
|
121
|
+
```
|
|
122
|
+
Process CPU Usage (%)
|
|
123
|
+
Avg: 45.2% (±12.3) Max: 120.5% Min: 8.1%
|
|
124
|
+
|
|
125
|
+
Process Memory Usage (GB)
|
|
126
|
+
Avg: 3.45 GB (±0.12) Max: 3.67 GB Min: 3.21 GB
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Edge Cases Handled
|
|
130
|
+
|
|
131
|
+
1. **Missing Data:** Fields are optional, gracefully handles old snapshots
|
|
132
|
+
2. **Process Not Running:** Returns null, charts skip those data points
|
|
133
|
+
3. **Multi-Core:** CPU can exceed 100% (expected behavior)
|
|
134
|
+
4. **Cache Expiry:** 3-second TTL prevents stale data
|
|
135
|
+
5. **Batch Collection:** Efficient when monitoring multiple servers
|
|
136
|
+
|
|
137
|
+
## Testing Recommendations
|
|
138
|
+
|
|
139
|
+
1. **Single Server:**
|
|
140
|
+
```bash
|
|
141
|
+
npm run dev -- server monitor <server-id>
|
|
142
|
+
# Press 'H' to view historical data
|
|
143
|
+
```
|
|
144
|
+
- Verify CPU shows reasonable per-process values (not system-wide)
|
|
145
|
+
- Verify memory shows model size in GB (not total RAM %)
|
|
146
|
+
|
|
147
|
+
2. **Multi-Server:**
|
|
148
|
+
```bash
|
|
149
|
+
npm run dev -- server monitor
|
|
150
|
+
# Press 'H' to view comparison table
|
|
151
|
+
```
|
|
152
|
+
- Verify each server shows different CPU/memory values
|
|
153
|
+
- Verify table shows GB for memory column
|
|
154
|
+
|
|
155
|
+
3. **Compare with Activity Monitor:**
|
|
156
|
+
- Open Activity Monitor
|
|
157
|
+
- Filter for `llama-server` process
|
|
158
|
+
- CPU % should match within 5-10%
|
|
159
|
+
- Memory should match within 0.1 GB
|
|
160
|
+
|
|
161
|
+
4. **Compare with `ps`:**
|
|
162
|
+
```bash
|
|
163
|
+
ps -p <pid> -o %cpu,rss
|
|
164
|
+
```
|
|
165
|
+
- CPU % should match
|
|
166
|
+
- RSS (memory) should match when converted to GB
|
|
167
|
+
|
|
168
|
+
## Backward Compatibility
|
|
169
|
+
|
|
170
|
+
- Old history files still work (missing fields treated as undefined)
|
|
171
|
+
- System-wide metrics still collected for live monitoring
|
|
172
|
+
- Live monitoring TUI unchanged (still shows system-wide for context)
|
|
173
|
+
- Only historical view changed to per-process
|
|
174
|
+
|
|
175
|
+
## Related Files
|
|
176
|
+
|
|
177
|
+
- `src/utils/process-utils.ts` - Added CPU collection functions
|
|
178
|
+
- `src/types/monitor-types.ts` - Added processCpuUsage field
|
|
179
|
+
- `src/types/history-types.ts` - Added processCpuUsage to snapshots
|
|
180
|
+
- `src/lib/metrics-aggregator.ts` - Collects CPU metrics
|
|
181
|
+
- `src/lib/history-manager.ts` - Saves CPU metrics
|
|
182
|
+
- `src/tui/HistoricalMonitorApp.ts` - Displays per-process charts
|
|
183
|
+
|
|
184
|
+
## Future Improvements
|
|
185
|
+
|
|
186
|
+
1. **Per-Process GPU:** Investigate Metal API for GPU attribution
|
|
187
|
+
2. **Network I/O:** Track per-process network usage
|
|
188
|
+
3. **Disk I/O:** Track per-process disk reads/writes
|
|
189
|
+
4. **Thread Count:** Show number of threads used by process
|
|
190
|
+
5. **Context Switches:** Show voluntary/involuntary context switches
|
package/README.md
CHANGED
|
@@ -15,8 +15,9 @@ CLI tool to manage local llama.cpp servers on macOS. Provides an Ollama-like exp
|
|
|
15
15
|
- 🤖 **Model downloads** - Pull GGUF models from Hugging Face
|
|
16
16
|
- ⚙️ **Smart defaults** - Auto-configure threads, context size, and GPU layers based on model size
|
|
17
17
|
- 🔌 **Auto port assignment** - Automatically find available ports (9000-9999)
|
|
18
|
-
- 📊 **Real-time monitoring TUI** -
|
|
18
|
+
- 📊 **Real-time monitoring TUI** - Multi-server dashboard with drill-down details, live GPU/CPU/memory metrics, token generation speeds, and animated loading states
|
|
19
19
|
- 🪵 **Smart logging** - Compact one-line request format with optional full JSON details
|
|
20
|
+
- ⚡️ **Optimized metrics** - Batch collection and caching prevent CPU spikes (10x fewer processes)
|
|
20
21
|
|
|
21
22
|
## Why llamacpp-cli?
|
|
22
23
|
|
|
@@ -460,13 +461,15 @@ Use `--http` to see full request/response JSON, or `--verbose` option to see all
|
|
|
460
461
|
### `llamacpp server monitor [identifier]`
|
|
461
462
|
Real-time monitoring TUI showing server metrics, GPU/CPU usage, and active inference slots.
|
|
462
463
|
|
|
464
|
+

|
|
465
|
+
|
|
463
466
|
**Two Modes:**
|
|
464
467
|
|
|
465
468
|
**1. Multi-Server Dashboard (no identifier):**
|
|
466
469
|
```bash
|
|
467
470
|
llamacpp server monitor
|
|
468
471
|
```
|
|
469
|
-
Shows overview of all servers with system resources.
|
|
472
|
+
Shows overview of all servers with system resources. Use arrow keys (↑/↓) or vim keys (k/j) to navigate, then press Enter to view server details.
|
|
470
473
|
|
|
471
474
|
**2. Single-Server Monitor (with identifier):**
|
|
472
475
|
```bash
|
|
@@ -487,13 +490,13 @@ llamacpp server monitor llama-3-2-3b
|
|
|
487
490
|
│ GPU: [████░░░] 65% CPU: [███░░░] 38% Memory: 58% │
|
|
488
491
|
├─────────────────────────────────────────────────────────┤
|
|
489
492
|
│ Servers (3 running, 0 stopped) │
|
|
490
|
-
│
|
|
493
|
+
│ │ Server ID │ Port │ Status │ Slots │ tok/s │
|
|
491
494
|
│───┼────────────────┼──────┼────────┼───────┼──────────┤
|
|
492
|
-
│
|
|
493
|
-
│
|
|
494
|
-
│
|
|
495
|
+
│ ► │ llama-3-2-3b │ 9000 │ ● RUN │ 2/4 │ 245 │ (highlighted)
|
|
496
|
+
│ │ qwen2-7b │ 9001 │ ● RUN │ 1/4 │ 198 │
|
|
497
|
+
│ │ llama-3-1-8b │ 9002 │ ○ IDLE │ 0/4 │ - │
|
|
495
498
|
└─────────────────────────────────────────────────────────┘
|
|
496
|
-
|
|
499
|
+
↑/↓ Navigate | Enter for details | [H]istory [R]efresh [Q] Quit
|
|
497
500
|
```
|
|
498
501
|
|
|
499
502
|
**Single-Server View:**
|
|
@@ -504,19 +507,65 @@ Press 1-9 for details | [Q] Quit
|
|
|
504
507
|
|
|
505
508
|
**Keyboard Shortcuts:**
|
|
506
509
|
- **Multi-Server Mode:**
|
|
507
|
-
- `
|
|
510
|
+
- `↑/↓` or `k/j` - Navigate server list
|
|
511
|
+
- `Enter` - View details for selected server
|
|
508
512
|
- `ESC` - Back to list (from detail view)
|
|
513
|
+
- `H` - View historical metrics
|
|
509
514
|
- `R` - Force refresh now
|
|
510
515
|
- `+/-` - Adjust update speed
|
|
511
516
|
- `Q` - Quit
|
|
512
517
|
- **Single-Server Mode:**
|
|
518
|
+
- `H` - View historical metrics
|
|
513
519
|
- `R` - Force refresh now
|
|
514
520
|
- `+/-` - Adjust update speed
|
|
515
521
|
- `Q` - Quit
|
|
522
|
+
- **Historical View:**
|
|
523
|
+
- `H` - Toggle Hour View (Recent ↔ Hour)
|
|
524
|
+
- `ESC` - Back to live monitoring
|
|
525
|
+
- `Q` - Quit
|
|
526
|
+
|
|
527
|
+
**Historical Monitoring:**
|
|
528
|
+
|
|
529
|
+
Press `H` from any live monitoring view to see historical time-series charts. The historical view shows:
|
|
530
|
+
|
|
531
|
+
- **Token generation speed** over time with statistics (avg, max, stddev)
|
|
532
|
+
- **GPU usage** over time with min/max/avg
|
|
533
|
+
- **CPU usage** over time with min/max/avg
|
|
534
|
+
- **Memory usage** over time with min/max/avg
|
|
535
|
+
|
|
536
|
+
**View Modes (Toggle with `H` key):**
|
|
537
|
+
|
|
538
|
+
- **Recent View (default):**
|
|
539
|
+
- Shows last 40-80 samples (~1-3 minutes)
|
|
540
|
+
- Raw data with no downsampling - perfect accuracy
|
|
541
|
+
- Best for: "What's happening right now?"
|
|
542
|
+
|
|
543
|
+
- **Hour View:**
|
|
544
|
+
- Shows all ~1,800 samples from last hour
|
|
545
|
+
- **Absolute time-aligned downsampling** (30:1 ratio) - chart stays perfectly stable
|
|
546
|
+
- Bucket boundaries never shift (aligned to round minutes)
|
|
547
|
+
- New samples only affect their own bucket, not the entire chart
|
|
548
|
+
- **Bucket max** for GPU/CPU/token speed (preserves peaks)
|
|
549
|
+
- **Bucket mean** for memory (shows average)
|
|
550
|
+
- Chart labels indicate "Peak per bucket" or "Average per bucket"
|
|
551
|
+
- Best for: "What happened over the last hour?"
|
|
552
|
+
|
|
553
|
+
**Note:** The `H` key has two functions:
|
|
554
|
+
- From **live monitoring** → Enter historical view (Recent mode)
|
|
555
|
+
- Within **historical view** → Toggle between Recent and Hour views
|
|
556
|
+
|
|
557
|
+
**Data Collection:**
|
|
558
|
+
|
|
559
|
+
Historical data is automatically collected whenever you run the monitor command. Data is retained for 24 hours in `~/.llamacpp/history/<server-id>.json` files, then automatically pruned.
|
|
560
|
+
|
|
561
|
+
**Multi-Server Historical View:**
|
|
562
|
+
|
|
563
|
+
From the multi-server dashboard, press `H` to see a summary table comparing average metrics across all servers for the last hour.
|
|
516
564
|
|
|
517
565
|
**Features:**
|
|
518
566
|
- **Multi-server dashboard** - Monitor all servers at once
|
|
519
567
|
- **Real-time updates** - Metrics refresh every 2 seconds (adjustable)
|
|
568
|
+
- **Historical monitoring** - View time-series charts of past metrics (press `H` from monitor view)
|
|
520
569
|
- **Token-per-second calculation** - Shows actual generation speed per slot
|
|
521
570
|
- **Progress bars** - Visual representation of GPU/CPU/memory usage
|
|
522
571
|
- **Error recovery** - Shows stale data with warnings if connection lost
|
package/dist/cli.js
CHANGED
|
@@ -43,11 +43,12 @@ program
|
|
|
43
43
|
});
|
|
44
44
|
// List running servers
|
|
45
45
|
program
|
|
46
|
-
.command('ps')
|
|
47
|
-
.description('
|
|
48
|
-
.
|
|
46
|
+
.command('ps [identifier]')
|
|
47
|
+
.description('Interactive server monitoring dashboard')
|
|
48
|
+
.option('--table', 'Show static table instead of TUI (for scripting)')
|
|
49
|
+
.action(async (identifier, options) => {
|
|
49
50
|
try {
|
|
50
|
-
await (0, ps_1.psCommand)();
|
|
51
|
+
await (0, ps_1.psCommand)(identifier, options);
|
|
51
52
|
}
|
|
52
53
|
catch (error) {
|
|
53
54
|
console.error(chalk_1.default.red('❌ Error:'), error.message);
|
|
@@ -269,12 +270,14 @@ server
|
|
|
269
270
|
process.exit(1);
|
|
270
271
|
}
|
|
271
272
|
});
|
|
272
|
-
// Monitor server
|
|
273
|
+
// Monitor server (deprecated - redirects to ps)
|
|
273
274
|
server
|
|
274
275
|
.command('monitor [identifier]')
|
|
275
|
-
.description('Monitor server with real-time metrics TUI')
|
|
276
|
+
.description('Monitor server with real-time metrics TUI (deprecated: use "llamacpp ps" instead)')
|
|
276
277
|
.action(async (identifier) => {
|
|
277
278
|
try {
|
|
279
|
+
console.log(chalk_1.default.yellow('⚠️ The "monitor" command is deprecated and will be removed in a future version.'));
|
|
280
|
+
console.log(chalk_1.default.dim(' Please use "llamacpp ps" instead for the same functionality.\n'));
|
|
278
281
|
await (0, monitor_1.monitorCommand)(identifier);
|
|
279
282
|
}
|
|
280
283
|
catch (error) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,0CAA8C;AAC9C,sCAA0C;AAC1C,8CAAkD;AAClD,4CAAgD;AAChD,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,sCAA0C;AAC1C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,wDAA2D;AAC3D,8CAAwD;AACxD,4DAA+D;AAC/D,gDAAoD;AACpD,mEAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,IAAA,kBAAW,GAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,uBAAuB;AACvB,OAAO;KACJ,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAcA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAcA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+JxF"}
|
package/dist/commands/create.js
CHANGED
|
@@ -164,10 +164,19 @@ async function createCommand(model, options) {
|
|
|
164
164
|
throw new Error('Server failed to start. Check logs with: llamacpp server logs --errors');
|
|
165
165
|
}
|
|
166
166
|
// 12. Update config with running status
|
|
167
|
-
|
|
168
|
-
// 13.
|
|
167
|
+
let updatedConfig = await status_checker_1.statusChecker.updateServerStatus(config);
|
|
168
|
+
// 13. Parse Metal (GPU) memory allocation from logs
|
|
169
|
+
// Wait a few seconds for model to start loading (large models take time)
|
|
170
|
+
console.log(chalk_1.default.dim('Detecting Metal (GPU) memory allocation...'));
|
|
171
|
+
await new Promise(resolve => setTimeout(resolve, 8000)); // 8 second delay
|
|
172
|
+
const metalMemoryMB = await (0, file_utils_1.parseMetalMemoryFromLog)(updatedConfig.stderrPath);
|
|
173
|
+
if (metalMemoryMB) {
|
|
174
|
+
updatedConfig = { ...updatedConfig, metalMemoryMB };
|
|
175
|
+
console.log(chalk_1.default.dim(`Metal memory: ${metalMemoryMB.toFixed(0)} MB`));
|
|
176
|
+
}
|
|
177
|
+
// 14. Save server config
|
|
169
178
|
await state_manager_1.stateManager.saveServerConfig(updatedConfig);
|
|
170
|
-
//
|
|
179
|
+
// 15. Display success message
|
|
171
180
|
console.log();
|
|
172
181
|
console.log(chalk_1.default.green('✅ Server created and started successfully!'));
|
|
173
182
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGvE"}
|