Zombie takes 100% CPU, cannot kill
I am running Tomcat 5.5 on Redhat 4. Sometimes when I restart tomcat, Java process does not exit fully and keeps running, using up 100% CPU as a Zombie. I cannot kill it as it is already Zombie. Problem is that it keeps some files locked and also does not release sockets so I cannot restart tomcat. The only way to get rid of them is to reboot the server. I cannot do that because it is a production server and it has more apps running on same.
I think it is a kernel problem. Can someone confirm this? This server is part of OCFS2 cluster and to upgrade kernel, I will need to upgrade kernel and OCFS2 on all servers in the cluster.
Details of the system -
Redhat ES 4.4
Kernel - 2.6.9-42.0.3.ELsmp
Sun Java - 1.5.0_06
OCFS2 - 1.2.5
Typical top output
Tasks: 164 total, 3 running, 160 sleeping, 0 stopped, 1 zombie
Cpu(s): 1.7% us, 25.1% sy, 0.0% ni, 73.2% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 8310552k total, 8000436k used, 310116k free, 127736k buffers
Swap: 16386292k total, 4k used, 16386288k free, 3536180k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ PPID COMMAND
13313 tomcat 15 0 0 0 0 Z 100 0.0 463:16.95 1 java <defunct>