Security 如何捕获占用100%cpu的进程?
我的服务器在昨晚12:30左右没有响应。我今天早上找到了它,甚至连ssh都插不进去。网络监视器告诉我我的CPU使用率是100%。我唯一能做的就是硬重启它。重新启动后,现在一切正常 但我认为潜在的问题仍然存在,因为我不知道昨晚哪个进程占用了如此高的CPU使用率 我是否可以按进程查找历史CPU使用情况?或者,如果没有,我能做些什么来预防,或者至少监控和了解它 我正在考虑每分钟将“top”命令结果保存到文件中,这样也许我可以捕获它,但也许还有其他更好的主意Security 如何捕获占用100%cpu的进程?,security,centos,cpu,Security,Centos,Cpu,我的服务器在昨晚12:30左右没有响应。我今天早上找到了它,甚至连ssh都插不进去。网络监视器告诉我我的CPU使用率是100%。我唯一能做的就是硬重启它。重新启动后,现在一切正常 但我认为潜在的问题仍然存在,因为我不知道昨晚哪个进程占用了如此高的CPU使用率 我是否可以按进程查找历史CPU使用情况?或者,如果没有,我能做些什么来预防,或者至少监控和了解它 我正在考虑每分钟将“top”命令结果保存到文件中,这样也许我可以捕获它,但也许还有其他更好的主意 多谢各位 有两个选项-首先,您可以启动定期C
多谢各位 有两个选项-首先,您可以启动定期CRON脚本,每分钟或每5分钟检查一次总体CPU使用情况。可以使用以下任一命令确定系统的总体CPU使用率: top-bn1 | grep“Cpu”| sed“s/*,([0-9.])%*id./\1/“| awk'{print 100-$1}” 或 mpstat | grep-a5“%idle”| tail-n1 | awk-F“{print 100-$13}A” 脚本应该获取CPU使用率,并检查CPU使用率是否超过阈值,如75%。如果出现这种情况,脚本可以将top命令(top-b-n2)的输出转储到文件中
第二种选择是使用一些开源监视工具,如monit()。Monit可用于监控系统CPU使用情况,还可对其进行编程,以便在CPU使用情况超过阈值时采取措施。第一个选项很酷,因为我想知道哪个进程占用的CPU最多。非常感谢。