c885b5acf4
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.
288 lines
6.2 KiB
JSON
288 lines
6.2 KiB
JSON
{
|
|
"apps": {
|
|
"felhom-controller": {
|
|
"samples": 271,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 82,
|
|
"mem_rest_p95_mb": 87,
|
|
"mem_peak_used_mb": 106,
|
|
"mem_peak_anon_mb": 68,
|
|
"mem_rest_anon_avg_mb": 29,
|
|
"kernel_memory_peak_mb": 185,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.26,
|
|
"cpu_peak_1m_pct": 0.9,
|
|
"cpu_peak_5s_pct": 7.5,
|
|
"work_seconds": 1359,
|
|
"containers": {
|
|
"felhom-controller": {
|
|
"peak_used_mb": 106,
|
|
"peak_anon_mb": 68,
|
|
"limit_mb": null
|
|
}
|
|
}
|
|
},
|
|
"cloudflared": {
|
|
"samples": 271,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 23,
|
|
"mem_rest_p95_mb": 23,
|
|
"mem_peak_used_mb": 41,
|
|
"mem_peak_anon_mb": 26,
|
|
"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.5,
|
|
"work_seconds": 1359,
|
|
"containers": {
|
|
"cloudflared": {
|
|
"peak_used_mb": 41,
|
|
"peak_anon_mb": 26,
|
|
"limit_mb": null
|
|
}
|
|
}
|
|
},
|
|
"filebrowser": {
|
|
"samples": 271,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 25,
|
|
"mem_rest_p95_mb": 25,
|
|
"mem_peak_used_mb": 28,
|
|
"mem_peak_anon_mb": 18,
|
|
"mem_rest_anon_avg_mb": 15,
|
|
"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": 1359,
|
|
"containers": {
|
|
"filebrowser": {
|
|
"peak_used_mb": 28,
|
|
"peak_anon_mb": 18,
|
|
"limit_mb": 256
|
|
}
|
|
}
|
|
},
|
|
"traefik": {
|
|
"samples": 271,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 36,
|
|
"mem_rest_p95_mb": 38,
|
|
"mem_peak_used_mb": 91,
|
|
"mem_peak_anon_mb": 24,
|
|
"mem_rest_anon_avg_mb": 19,
|
|
"kernel_memory_peak_mb": 125,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.01,
|
|
"cpu_peak_1m_pct": 0.3,
|
|
"cpu_peak_5s_pct": 1.3,
|
|
"work_seconds": 1359,
|
|
"containers": {
|
|
"traefik": {
|
|
"peak_used_mb": 91,
|
|
"peak_anon_mb": 24,
|
|
"limit_mb": null
|
|
}
|
|
}
|
|
},
|
|
"opengist": {
|
|
"samples": 271,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 40,
|
|
"mem_rest_p95_mb": 41,
|
|
"mem_peak_used_mb": 41,
|
|
"mem_peak_anon_mb": 22,
|
|
"mem_rest_anon_avg_mb": 20,
|
|
"kernel_memory_peak_mb": 45,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.03,
|
|
"cpu_peak_1m_pct": 0.0,
|
|
"cpu_peak_5s_pct": 0.3,
|
|
"work_seconds": 1359,
|
|
"containers": {
|
|
"opengist": {
|
|
"peak_used_mb": 41,
|
|
"peak_anon_mb": 22,
|
|
"limit_mb": 128
|
|
}
|
|
}
|
|
},
|
|
"onlyoffice": {
|
|
"samples": 259,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 364,
|
|
"mem_rest_p95_mb": 364,
|
|
"mem_peak_used_mb": 488,
|
|
"mem_peak_anon_mb": 463,
|
|
"mem_rest_anon_avg_mb": 290,
|
|
"kernel_memory_peak_mb": 1280,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.04,
|
|
"cpu_peak_1m_pct": 31.8,
|
|
"cpu_peak_5s_pct": 32.7,
|
|
"work_seconds": 1299,
|
|
"containers": {
|
|
"onlyoffice": {
|
|
"peak_used_mb": 488,
|
|
"peak_anon_mb": 463,
|
|
"limit_mb": 2048
|
|
}
|
|
}
|
|
},
|
|
"n8n": {
|
|
"samples": 241,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 321,
|
|
"mem_rest_p95_mb": 326,
|
|
"mem_peak_used_mb": 550,
|
|
"mem_peak_anon_mb": 514,
|
|
"mem_rest_anon_avg_mb": 288,
|
|
"kernel_memory_peak_mb": 610,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.1,
|
|
"cpu_peak_1m_pct": 0.5,
|
|
"cpu_peak_5s_pct": 3.7,
|
|
"work_seconds": 1208,
|
|
"containers": {
|
|
"n8n": {
|
|
"peak_used_mb": 550,
|
|
"peak_anon_mb": 514,
|
|
"limit_mb": 1536
|
|
}
|
|
}
|
|
},
|
|
"ghost": {
|
|
"samples": 223,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 149,
|
|
"mem_rest_p95_mb": 151,
|
|
"mem_peak_used_mb": 159,
|
|
"mem_peak_anon_mb": 143,
|
|
"mem_rest_anon_avg_mb": 129,
|
|
"kernel_memory_peak_mb": 173,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.08,
|
|
"cpu_peak_1m_pct": 0.2,
|
|
"cpu_peak_5s_pct": 1.5,
|
|
"work_seconds": 1118,
|
|
"containers": {
|
|
"ghost": {
|
|
"peak_used_mb": 159,
|
|
"peak_anon_mb": 143,
|
|
"limit_mb": 512
|
|
}
|
|
}
|
|
},
|
|
"gramps-web": {
|
|
"samples": 199,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 326,
|
|
"mem_rest_p95_mb": 327,
|
|
"mem_peak_used_mb": 336,
|
|
"mem_peak_anon_mb": 327,
|
|
"mem_rest_anon_avg_mb": 317,
|
|
"kernel_memory_peak_mb": 341,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.04,
|
|
"cpu_peak_1m_pct": 0.0,
|
|
"cpu_peak_5s_pct": 0.2,
|
|
"work_seconds": 996,
|
|
"containers": {
|
|
"gramps-web": {
|
|
"peak_used_mb": 336,
|
|
"peak_anon_mb": 327,
|
|
"limit_mb": 1024
|
|
}
|
|
}
|
|
},
|
|
"wanderer": {
|
|
"samples": 193,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 143,
|
|
"mem_rest_p95_mb": 147,
|
|
"mem_peak_used_mb": 147,
|
|
"mem_peak_anon_mb": 134,
|
|
"mem_rest_anon_avg_mb": 128,
|
|
"kernel_memory_peak_mb": 171,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.2,
|
|
"cpu_peak_1m_pct": 0.3,
|
|
"cpu_peak_5s_pct": 0.9,
|
|
"work_seconds": 966,
|
|
"containers": {
|
|
"wanderer-search": {
|
|
"peak_used_mb": 47,
|
|
"peak_anon_mb": 41,
|
|
"limit_mb": 256
|
|
},
|
|
"wanderer": {
|
|
"peak_used_mb": 87,
|
|
"peak_anon_mb": 80,
|
|
"limit_mb": 512
|
|
},
|
|
"wanderer-db": {
|
|
"peak_used_mb": 15,
|
|
"peak_anon_mb": 14,
|
|
"limit_mb": 256
|
|
}
|
|
}
|
|
},
|
|
"recipe-importer": {
|
|
"samples": 187,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 63,
|
|
"mem_rest_p95_mb": 63,
|
|
"mem_peak_used_mb": 72,
|
|
"mem_peak_anon_mb": 69,
|
|
"mem_rest_anon_avg_mb": 61,
|
|
"kernel_memory_peak_mb": 74,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.09,
|
|
"cpu_peak_1m_pct": 0.1,
|
|
"cpu_peak_5s_pct": 0.6,
|
|
"work_seconds": 936,
|
|
"containers": {
|
|
"recipe-importer": {
|
|
"peak_used_mb": 72,
|
|
"peak_anon_mb": 69,
|
|
"limit_mb": 128
|
|
}
|
|
}
|
|
},
|
|
"code-server": {
|
|
"samples": 181,
|
|
"rest_samples": 179,
|
|
"mem_rest_avg_mb": 59,
|
|
"mem_rest_p95_mb": 59,
|
|
"mem_peak_used_mb": 59,
|
|
"mem_peak_anon_mb": 53,
|
|
"mem_rest_anon_avg_mb": 53,
|
|
"kernel_memory_peak_mb": 65,
|
|
"oom_kills": 0,
|
|
"cpu_rest_avg_pct": 0.03,
|
|
"cpu_peak_1m_pct": 0.0,
|
|
"cpu_peak_5s_pct": 0.2,
|
|
"work_seconds": 906,
|
|
"containers": {
|
|
"code-server": {
|
|
"peak_used_mb": 59,
|
|
"peak_anon_mb": 53,
|
|
"limit_mb": 1024
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"host": {
|
|
"host_mem_used_rest_avg_mb": 3670,
|
|
"host_mem_used_peak_mb": 3899,
|
|
"guest_mem_current_rest_avg_mb": 12072,
|
|
"guest_anon_rest_avg_mb": 1516,
|
|
"rapl_pkg_w_rest_avg": 4.17,
|
|
"rapl_pkg_w_peak_5s": 14.58,
|
|
"rapl_pkg_w_peak_1m": 13.56,
|
|
"pkg_temp_c_max": 63.0
|
|
}
|
|
} |