这里什么占用了所有的 CPU?

这里什么占用了所有的 CPU?

在小型 SSD VPS 上,我获得了 2 GB 的 RAM 和 2 个 vCPU 核心(专用于我的服务器),通过 KVM 虚拟化。到目前为止一切顺利。该服务器主要用于数据库(MySQL)和快速网络文件存储(通过 sshfs)。目前大约有 5 个文件夹通过 sshfs 安装到远程服务器。

当我查看时,htop我可以看到 100% 的 CPU 负载,尽管按 CPU 使用率对进程进行排序时,没有一个进程单独或多个进程组合​​占用那么多的 CPU。此外,这load average表明服务器主要处于休眠状态。从这个问题我发现蓝色的 CPU 条表示“低优先级线程”占用了 CPU。

以下是一些截图: 通过 htop 进行系统负载 通过顶部加载系统 Munin 的 CPU 使用率

我如何才能找出哪个进程正在耗尽所有 CPU 能力?它真的在消耗 CPU 能力吗?还是这只是 KVM 导致的视觉错误?sshfs 是否使用了无法从用户空间跟踪的 CPU 能力?

答案1

当您不使用 CPU 时,它们会被分配给其他虚拟机。这反映在“窃取”值中,这是大多数使用情况所在。您可能需要咨询您的提供商,以确保您确实优先使用两个 vCPU。或者只运行两个占用 CPU 的任务(如openssl speed),并确保它们全部被使用。

答案2

根据图表,您占用的 CPU 时间较高,这可能会导致此问题。请将此问题报告给您的托管服务提供商,并询问他们有关将 VM 迁移到另一台主机的信息。

问题通常是由于虚拟机的并发性很高,导致 KVM 无法从主机获取 CPU 时间。

我想这也能解决你的 CPU 使用率过高的问题。

相关内容