The image process count reflects the number of active processes of the same image (program) executing on the operating system. Monitoring this metric is critical because it directly impacts system stability, performance, and resource utilization.
Monitoring process count becomes especially important in these scenarios:
- High-load environments (web servers, databases, APIs) where many concurrent operations occur
- Applications that spawn child processes (e.g., batch-scheduled tasks, microservices, schedulers)
- Systems experiencing slowdowns, crashes, or resource exhaustion
- Security-sensitive environments, where abnormal activity may indicate malicious behavior
A sudden or sustained increase in process count can signal inefficiencies, bugs, or even attacks.
Possible causes
1. Process Leak
A process leak occurs when a program continuously spawns new processes but fails to terminate them properly.
Problem identification:
- Gradual, steady increase in process count over time
- Many instances of the same process name
- Windows:
- Open Task Manager (
Ctrl + Shift + Esc) - Go to the Details tab
- Sort by Name or PID
- Look for repeated instances increasing over time
- Open Task Manager (
- Linux:
- Run
ps aux | grep <process_name> - Count instances using
wc -l - Use
toporhtopto monitor growth - Repeat over time to confirm the increase
- Run
You are notified that the process count of some images is higher than usual, and you can see the historical process count to identify abnormal behavior.
Recommended action :
- Fix the application logic to properly close processes
- Implement process limits (ulimit / job object limits)
- Restart the service as a temporary mitigation
2. Misconfigured Worker Pool / Thread Pool
Applications (e.g., web servers) may spawn too many workers due to incorrect configuration.
Problem identification:
- High number of worker processes tied to a specific service
- CPU or memory saturation alongside high process count
-
How to Identify (Windows):
- Open Task Manager
- Identify the service (e.g., IIS worker processes)
- Count instances of the process
- Compare against expected configuration
How to Identify (Linux):
- Run
ps -ef | grep <service_name> - Count worker processes
- Check config files (e.g.,
/etc/nginx/nginx.conf) - Compare configured vs actual workers
You can set the expected count for each application and be notified when the process count exceeds the expected value. You can see the historical process count to identify abnormal behavior.
Recommended action :
- Tune worker/process limits based on CPU cores
- Use auto-scaling configurations where available
- Monitor under load to validate settings













