一 个遗留的 SCO Unix 还在运行,上面跑的是人行同城业务,隔几个月业务部门就反映系统奇慢,系统管理员说有一个进程把 CPU 占满了,我以为这个问题已经解决了,但最近业务部门又把这个问题报上来,我就看系统管理员在 SCO 机器上查,我发现他没有方法和思路,也不知道以前是怎么解决问题的,据说曾经重装了一道系统。我问 SCO 上有没有 top 命令,回答说没有,我说可以用 ps 把消耗 CPU 最多的几个进程先挑出来,再具体了解那几个进程是干什么的,用下面这个命令列出耗用 CPU 最多的 10 个进程:ps -ef | sort +6r | head -10,为了确认这 10 个进程哪个在 CPU 上跑飞了,可以把 ps 命令和 sleep 命令结合起来,10 个进程不算多了,你把每个进程的 PID 号找出来,执行如下命令:ps -ef | grep ;sleep 20;ps -ef | grep ,如果针对该 PID 的两次 ps 命令输出中 CPU 占用时间(TIME)差接近 20 秒,那么这个进程就是那个跑飞的进程。最后的检查结果是跑飞进程是一个才运行几天的业务终端监控进程,一般情况这种程序编得都不怎么样,在技术运行上可以 上些监控手段,在业务运行上可以要求这种程序只在营业时间使用,下班时退出。ps 命令系统管理员应该花点时间熟练掌握,避免犯一些傻错误,或做一些傻事,就象重装系统类的事。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23488160/viewspace-676317/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23488160/viewspace-676317/