Establish safe CPU, memory, and kernel measurements #2
Notifications
Due Date
No due date set.
Blocks
Reference: xavierk/odin#2
Reference in New Issue
Block a user
Part of Find the way to Odin’s build-ready specification.
Question
Which existing, maintained workloads and Linux telemetry can reliably characterize CPU throughput, latency/bottlenecks, memory pressure, and memory errors within Odin’s profiles?
Investigate CPU single/multicore and scheduler behavior, warmup, thermal/power/governor effects, PSI/cgroups/perf access and kernel configuration; assess existing options for foreground response latency under bounded CPU/memory contention, distinguishing usability under load from peak throughput and timer wakeup jitter; memory capacity/bandwidth/latency/swap/pressure; online memory-test coverage versus offline tests, ECC/EDAC visibility and limits. Compare established tools and their licenses/maintenance, output stability, resource caps, cancellation, OOM avoidance, permissions, architectures/libcs and fallback behavior. Distinguish stress, benchmarking, pressure observation, and error detection. Include what a VM can and cannot validate, and how live TUI overhead could contaminate measurements.
Deliver cited facts, a candidate matrix, recommended options and confidence limits. Do not run stress tests or select the final workload suite.
Research resolution
The investigation separates throughput, responsiveness under load, pressure observations, and health findings. No single candidate establishes all four.
/proc, and cgroup telemetry need capability and permission detection. A missing metric, or a system-wide CPU PSI full value of zero, cannot establish healthy responsiveness.memory.highis not a hard cap, and a userspace timeout cannot guarantee immediate termination of a task blocked in the kernel.Read the cited research report. Evidence is recorded at commit
90213d7f62cbonresearch/cpu-memory.Still for the human decision tickets: exact foreground workloads and background intensity; score inclusion; resource/headroom/privilege policies; repetition and time allocation; heterogeneous-core behavior; missing coverage; offline diagnostic scope.
Evidence limits: no candidates were built or run on the target matrix and no overhead or repeatability budget is yet calibrated. Context7 lacked suitable stress-ng/STREAM/schbench matches, so owning sources were inspected directly. Memtester’s upstream TLS failed; original sources preserved by Debian and the Void package archive were used with version differences recorded. No benchmarks or host changes were performed.