Audit: what a Felhom box needs — floor, 64 apps' memory and CPU, power (N100 bench); R-993..R-995; R-231 due check read green
Measured on demo-felhom (N100, 16 GB): 61 apps deployed and removed through the product, sampled every 5 s; heavy apps with one real action (Immich 200 photos, Jellyfin transcode, Paperless OCR, Nextcloud 500 MB, ...). sizing.json for the estimator (tools/build_sizing.py), SIZING.md with the proposed minimum machine, METHOD.md. Power is RAPL CPU-package only (no meter). R-993 asks the operator to approve the minimum machine; R-994 lists catalog limits/requests that are too low; R-995 records leftover unnamed volumes after removal. R-231's dated check measured: dooplex-backup.service success, journal green.
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"apps": {
|
||||
"felhom-controller": {
|
||||
"samples": 198,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 38,
|
||||
"mem_rest_p95_mb": 43,
|
||||
"mem_peak_used_mb": 53,
|
||||
"mem_peak_anon_mb": 46,
|
||||
"mem_rest_anon_avg_mb": 31,
|
||||
"kernel_memory_peak_mb": 129,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.23,
|
||||
"cpu_peak_1m_pct": 0.7,
|
||||
"cpu_peak_5s_pct": 6.2,
|
||||
"work_seconds": 990,
|
||||
"containers": {
|
||||
"felhom-controller": {
|
||||
"peak_used_mb": 53,
|
||||
"peak_anon_mb": 46,
|
||||
"limit_mb": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"cloudflared": {
|
||||
"samples": 198,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 40,
|
||||
"mem_rest_p95_mb": 40,
|
||||
"mem_peak_used_mb": 40,
|
||||
"mem_peak_anon_mb": 16,
|
||||
"mem_rest_anon_avg_mb": 16,
|
||||
"kernel_memory_peak_mb": 68,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.11,
|
||||
"cpu_peak_1m_pct": 0.1,
|
||||
"cpu_peak_5s_pct": 0.4,
|
||||
"work_seconds": 990,
|
||||
"containers": {
|
||||
"cloudflared": {
|
||||
"peak_used_mb": 40,
|
||||
"peak_anon_mb": 16,
|
||||
"limit_mb": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"filebrowser": {
|
||||
"samples": 198,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 20,
|
||||
"mem_rest_p95_mb": 20,
|
||||
"mem_peak_used_mb": 20,
|
||||
"mem_peak_anon_mb": 18,
|
||||
"mem_rest_anon_avg_mb": 18,
|
||||
"kernel_memory_peak_mb": 101,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.03,
|
||||
"cpu_peak_1m_pct": 0.0,
|
||||
"cpu_peak_5s_pct": 0.2,
|
||||
"work_seconds": 990,
|
||||
"containers": {
|
||||
"filebrowser": {
|
||||
"peak_used_mb": 20,
|
||||
"peak_anon_mb": 18,
|
||||
"limit_mb": 256
|
||||
}
|
||||
}
|
||||
},
|
||||
"traefik": {
|
||||
"samples": 198,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 83,
|
||||
"mem_rest_p95_mb": 87,
|
||||
"mem_peak_used_mb": 87,
|
||||
"mem_peak_anon_mb": 21,
|
||||
"mem_rest_anon_avg_mb": 17,
|
||||
"kernel_memory_peak_mb": 123,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.01,
|
||||
"cpu_peak_1m_pct": 0.1,
|
||||
"cpu_peak_5s_pct": 0.4,
|
||||
"work_seconds": 990,
|
||||
"containers": {
|
||||
"traefik": {
|
||||
"peak_used_mb": 87,
|
||||
"peak_anon_mb": 21,
|
||||
"limit_mb": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"opengist": {
|
||||
"samples": 198,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 23,
|
||||
"mem_rest_p95_mb": 24,
|
||||
"mem_peak_used_mb": 24,
|
||||
"mem_peak_anon_mb": 22,
|
||||
"mem_rest_anon_avg_mb": 22,
|
||||
"kernel_memory_peak_mb": 28,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.03,
|
||||
"cpu_peak_1m_pct": 0.0,
|
||||
"cpu_peak_5s_pct": 0.2,
|
||||
"work_seconds": 990,
|
||||
"containers": {
|
||||
"opengist": {
|
||||
"peak_used_mb": 24,
|
||||
"peak_anon_mb": 22,
|
||||
"limit_mb": 128
|
||||
}
|
||||
}
|
||||
},
|
||||
"nextcloud": {
|
||||
"samples": 192,
|
||||
"rest_samples": 180,
|
||||
"mem_rest_avg_mb": 325,
|
||||
"mem_rest_p95_mb": 334,
|
||||
"mem_peak_used_mb": 393,
|
||||
"mem_peak_anon_mb": 240,
|
||||
"mem_rest_anon_avg_mb": 173,
|
||||
"kernel_memory_peak_mb": 1174,
|
||||
"oom_kills": 0,
|
||||
"cpu_rest_avg_pct": 0.4,
|
||||
"cpu_peak_1m_pct": 12.8,
|
||||
"cpu_peak_5s_pct": 24.2,
|
||||
"work_seconds": 959,
|
||||
"containers": {
|
||||
"nextcloud-redis": {
|
||||
"peak_used_mb": 4,
|
||||
"peak_anon_mb": 3,
|
||||
"limit_mb": 128
|
||||
},
|
||||
"nextcloud-db": {
|
||||
"peak_used_mb": 125,
|
||||
"peak_anon_mb": 121,
|
||||
"limit_mb": 512
|
||||
},
|
||||
"nextcloud": {
|
||||
"peak_used_mb": 265,
|
||||
"peak_anon_mb": 116,
|
||||
"limit_mb": 1024
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"host_mem_used_rest_avg_mb": 2615,
|
||||
"host_mem_used_peak_mb": 3003,
|
||||
"guest_mem_current_rest_avg_mb": 6015,
|
||||
"guest_anon_rest_avg_mb": 397,
|
||||
"rapl_pkg_w_rest_avg": 4.04,
|
||||
"rapl_pkg_w_peak_5s": 11.96,
|
||||
"rapl_pkg_w_peak_1m": 9.16,
|
||||
"pkg_temp_c_max": 57.0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user