Zombie Process Ratio
Calculate the ratio of zombie processes to total processes on a running system.
Inputs
Zombie Process %
3.64%
Status
Watch — some zombies present; usually transient, but monitor if the ratio keeps climbing.
Zombie Count
8
Exceeds 5% Threshold?
false
Step by step
Values used
Zombie Process Count (state Z) = 8; Total Process Count = 220
Zombie ratio
zombie% = zombie_count / total_process_count × 100
Zombie Process %
= 3.64
Status
= Watch — some zombies present; usually transient, but monitor if the ratio keeps climbing.
Zombie Count
= 8
Exceeds 5% Threshold?
= No
How it works
A zombie (state Z, shown as 'defunct' in some tools) is a process that has already exited but whose exit status hasn't yet been collected by its parent via wait()/waitpid() — it consumes a PID slot and a minimal task_struct, but no CPU or real memory. A brief zombie during normal fork/exit cycles is harmless and expected; a persistently high zombie ratio (this calculator flags above 5%) almost always indicates a parent process (often a custom daemon or script) that spawns children but never reaps them, which can eventually contribute to PID exhaustion even though each individual zombie is cheap.
Formula
Zombie ratio
zombie% = zombie_count / total_process_count × 100
- N_z
- zombie process count
- N_{total}
- total process count
Frequently Asked Questions
Can I kill a zombie process directly?
No — SIGKILL has no effect on a zombie since it's already terminated and has no running code to signal; the only way to clear it is for its parent to call wait()/waitpid() (directly or indirectly, e.g. via the parent exiting, which causes init/PID 1 to adopt and reap it), or by killing the parent itself if it's the one failing to reap.
How do I find which parent process is creating zombies?
`ps -eo pid,ppid,stat,comm | grep ' Z'` (or similar) lists zombie PIDs along with their PPID (parent PID) — cross-reference that PPID against `ps -p <ppid>` to identify the offending parent process and investigate its child-handling/signal-handling code (commonly a missing or ignored SIGCHLD handler, or missing wait() calls).
Do zombie processes consume CPU or memory?
No meaningful amount — a zombie retains only its process table entry (PID, exit status, resource usage statistics for the parent to eventually collect) and consumes essentially no CPU and negligible memory. The real risk from an unbounded, growing zombie count is PID exhaustion, not resource consumption from the zombies themselves.