如何在发生高CPU负载的情况下优先使用SSH工作

我遇到一个奇怪的问题,Fedora Linux VPS服务器报告100%的CPU,并且实际上变得无法使用,但我不知道为什么,因为高负载阻止了我通过SSH进入它看看有什么问题。

如何优先化或configurationSSH,以便即使某个进程正在占用其他所有CPU,仍能够连接?

创build一个logging进程的脚本:

 #!/bin/bash top -b -c -n 1 -d 1 > /tmp/top-$(date "+%Y-%m-%d_%H-%M-%S") 

设置每分钟运行脚本的cron作业:

 */1 * * * * /path/to/script.sh 

下一次您的系统无响应,您将logging正在做的事情。

如果这是一个真正的CPU /负载相关的问题,你可以(重新)好你的服务器上的sshd进程给它一个更高的优先级。 为了实现这一点,你可以在sshd init脚本中添加nice。

如果你不介意我的话,我想你是在问错误的问题。 你真的想知道什么是使用资源,以至于你无法login。我遇到过这个问题无数次,解决scheme是跟踪服务器上不断发生的事情。 我想出了这个尽可能轻的解决scheme,减less了被资源阻止的机会:

http://linuxtech.ie/wordpress/2012/09/05/finding-a-severe-resource-hog-on-your-server/

我希望有帮助