Being a SysAdmin, you might have to deal with unexpected requests and situations day in and day out, making your life quite challenging at times. In addition to dealing with haywire user requests, there are certain recurring system issues which do not help the situation. One issue you may have faced often is dealing with annoying zombie processes. So, what exactly are these so called zombies?
Zombie Processes are Not Flesh Eating Monsters
This might be old school but it doesn’t hurt to learn again. A zombie process is one that when finishing execution will have an exit status to report to its parent process. As a result, the process will remain in the operating system’s process table as a zombie process, indicating that it is not to be scheduled for further execution but cannot be completely removed until it has been determined that the exit status is no longer needed.
So basically, these zombie processes remain in the process tables even after they have fully executed and no longer use up processing power.
Zombies are Not Destructive, But…
Generally zombie processes don’t cause performance issues on the servers. These are just leftover bits of dead processes that haven’t been cleaned properly by their parent process (i.e. when these processes were killed, the parent process didn't correctly collect the processes exit information). That being said, if the number of zombie processes is exceedingly larger than the process limit on the server, serious problems can occur, such as:
• The application hangs and simply stops responding.
• You receive a warning from the OS that the application is unresponsive.
• Too many zombie processes would stall the system and lead to rebooting.
Going for the Kill
Some of these options can be tried to kill zombie processes:
• The first option is to wait. It is possible that the parent process is intentionally leaving the process in a zombie state to ensure that future children it may create will not receive the same PID (Process ID).
• The other option is to identify the parent process and kill it.
Monitoring & Managing Processes in Real Time
Keeping track of your server and application farm has never been this easy. With SolarWinds Server & Application Monitor’s Real Time Process Explorer (RTPE), you no longer need to physically or remotely log in to a particular machine and run the Task Manager to retrieve that machine's vital statistics. Information for both monitored and unmonitored processes is displayed directly through the RTPE and with the additional command line option, you exactly know from where the process is running.
You can kill rouge processes that are eating your server’s CPU and memory directly from the RTPE. Check it out in the latest release (v5.5) of SolarWinds' server monitoring tool.
SolarWinds all-in-one process monitoring & management tool