Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何捕获占用100%cpu的进程?_Security_Centos_Cpu - Fatal编程技术网

Security 如何捕获占用100%cpu的进程?

Security 如何捕获占用100%cpu的进程?,security,centos,cpu,Security,Centos,Cpu,我的服务器在昨晚12:30左右没有响应。我今天早上找到了它,甚至连ssh都插不进去。网络监视器告诉我我的CPU使用率是100%。我唯一能做的就是硬重启它。重新启动后,现在一切正常 但我认为潜在的问题仍然存在,因为我不知道昨晚哪个进程占用了如此高的CPU使用率 我是否可以按进程查找历史CPU使用情况?或者,如果没有,我能做些什么来预防,或者至少监控和了解它 我正在考虑每分钟将“top”命令结果保存到文件中,这样也许我可以捕获它,但也许还有其他更好的主意 多谢各位 有两个选项-首先,您可以启动定期C

我的服务器在昨晚12:30左右没有响应。我今天早上找到了它,甚至连ssh都插不进去。网络监视器告诉我我的CPU使用率是100%。我唯一能做的就是硬重启它。重新启动后,现在一切正常

但我认为潜在的问题仍然存在,因为我不知道昨晚哪个进程占用了如此高的CPU使用率

我是否可以按进程查找历史CPU使用情况?或者,如果没有,我能做些什么来预防,或者至少监控和了解它

我正在考虑每分钟将“top”命令结果保存到文件中,这样也许我可以捕获它,但也许还有其他更好的主意


多谢各位

有两个选项-首先,您可以启动定期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最多。非常感谢。