服务器 CPU 负载过高且无任何进程在运行

服务器 CPU 负载过高且无任何进程在运行

我正在我们大学的一台服务器上工作,该服务器为我提供了空间并分配了 40 个核心。

目前,根据 top,除了 root 进程外,我没有运行任何进程。唯一占用 CPU 能力的进程是 x11vnc,没有进程占用 MEM。尽管如此,平均负载为 46.08、46.03、46.05。

我认为可能发生的情况是,我在具有多线程的屏幕上运行 Java 进程,因此所有 40 个核心都在使用中,但我没有终止进程本身,而是终止了屏幕,这可能阻止了 Java 进程正常退出。

我认为如果我尝试使用类似的命令杀死所有进程shutdown -h now可能killall5 -9会解决问题,但我犹豫不决,因为担心杀死重要的根进程并使事情变得更糟。

欢迎提出任何有关排除故障/修复该问题的想法。

编辑:服务器已安装 htop,但尝试运行 htop 时会弹出一个完全空白的窗口,我无法使用q或退出Ctrl+C,因此只能关闭该窗口。不确定这是否是相关问题。

答案1

CPU 能力可能不仅被用户进程使用,也可能被内核本身使用。

如果你在该服务器上写道“你已经获得空间”,那么这到底是什么意思?

尝试运行 finger 并查看是否有其他用户同时使用该服务器。如果是这种情况(即它是共享资源)并且他们已授予您 root 权限,那么这听起来很可怕。

换句话说:如果您独自一人使用该机器,那么只需重新启动这种非科学的方法应该可以解决您的问题,尽管您无法通过这种方式发现问题的真正所在。

答案2

我最终运行了shutdown -h now,CPU 负载又回到了 0.08、0.09、0.05,所以这似乎已经解决了这个问题。

相关内容