WEB开发网
开发学院操作系统Linux/Unix AIX僵死(defunct)进程故障分析 阅读

AIX僵死(defunct)进程故障分析

 2008-09-06 08:20:53 来源:WEB开发网   
核心提示:故障描述: S80主机系统出现了大量的僵死(defunct)进程,由于这些进程不能自动终止,AIX僵死(defunct)进程故障分析,导致系统的进程数资源不能释放,因此,系统中的defunct进程被清除,系统进程数被释放,如果继续增多,到达系统设定的进程总数

故障描述:

S80主机系统出现了大量的僵死(defunct)进程,由于这些进程不能自动终止,导致系统的进程数资源不能释放,因此,如果继续增多,到达系统设定的进程总数,用户的应用和生产将受到影响。

故障分析:

在AIX操作系统中,任何进程的结束或终止将会通报其父进程(parent process),父进程会收集子进程的状态信息,并使子进程完全结束。如果父进程不能及时完整地收集该进程的状态信息,则即使子进程结束,系统也会产生一个相同进程号的defunct进程。由于defunct进程对应的进程实际上已经结束,因此,使用kill –9等方法也无法清除干净。

仔细观察S80系统中的defunct进程,进程用户多为root用户,少数为ORACLE用户,但绝大部分进程的父进程号为1,这表明父进程为系统初始化(init) 进程。经查询IBM系统资料库,指明:系统起机后,如果/etc/inittab文件未被init进程完全执行完,则系统很可能产生defunct进程,因为init进程有可能在等待某些特定进程的运行而不理会其他子进程的结束,从而导致defunct进程的产生。

仔细查看系统/etc/inittab文件,发现存在如下语句:

welcome:2:wait:/usr/lib/assist/welcome.launch

该语句将导致/etc/inittab中其后的语句未能完全运行,因此,需要清除或屏蔽掉该语句。

故障解决:

删除/etc/inittab中welcome语句,并重新执行/etc/inittab,系统中的defunct进程被清除,系统进程数被释放,恢复至正常状态。

如下为操作命令:

  #cp /etc/inttab /etc/inittab.bak
  #rmitab welcome
  #telinit q
  #ps -ef|grep welcome (to find the ‘welcome’ pid#)
  #kill #pid
  #telinit q

Tags:AIX 僵死 defunct

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接