mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-10-19 11:09:03 +02:00
40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
---
|
|
title: WindowsCPUSaturation
|
|
---
|
|
|
|
## Meaning
|
|
|
|
The number of threads waiting for a processor, averaged over the rate window
|
|
and divided by the number of logical processors, exceeds the configured
|
|
threshold for 15 minutes. The default is two waiting threads per logical
|
|
processor. The metric is `windows:cpu_queue_per_core:ratio`, built from
|
|
`windows_system_processor_queue_length` and `windows:cpu_cores:count`.
|
|
|
|
## Impact
|
|
|
|
Runnable threads wait for CPU time, so applications respond slowly even when
|
|
their own CPU usage looks moderate. A long queue with CPU usage below 100%
|
|
points at a few busy cores, a single-threaded bottleneck, or processor
|
|
scheduling problems such as parked cores or hypervisor contention.
|
|
|
|
## Diagnosis
|
|
|
|
1. Inspect `windows:cpu_queue_per_core:ratio` next to `windows:cpu_usage:ratio`
|
|
for the host. Saturation with high usage is a capacity problem; saturation
|
|
with low usage points at scheduling.
|
|
2. Compare the per-core rates of `windows_cpu_time_seconds_total`. One or two
|
|
cores at 100% while others idle indicate a thread that cannot spread.
|
|
3. Check `windows_cpu_parking_status`, `windows_cpu_core_frequency_hertz` and
|
|
the power plan. On virtual machines check the hypervisor for CPU ready time
|
|
or steal.
|
|
4. Use Task Manager or Performance Monitor (`System\Processor Queue Length`,
|
|
`Process\Thread Count`) to find the processes with many runnable threads.
|
|
|
|
## Mitigation
|
|
|
|
Reduce or redistribute the workload, add logical processors, or fix the power
|
|
plan and parking settings. Give the virtual machine more CPU share or move it to
|
|
a less loaded host. Tune the threshold for hosts whose workload keeps a long
|
|
queue by design, such as build servers. Confirm the queue length per core and
|
|
application latency return to normal.
|