我正在我们大学的一台服务器上工作,该服务器为我提供了空间并分配了 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,所以这似乎已经解决了这个问题。