我有两个 CPU 锁定在我的一台服务器上。来自dmesg
:
BUG: soft lockup - CPU#1 stuck for 23s! [vmx-vcpu-0:6148]
然后:
BUG: soft lockup - CPU#2 stuck for 23s! [vmx-vcpu-0:6148]
我想弄清楚为什么会这样;该处理器有 4 个超线程内核,因此操作系统将其视为 8 个内核。但我的主要问题与此有关:
当htop
从 SSH 查看冻结后时,我看到 CPU #2 和 #3(猜测它们对应于 dmesg 的 #1 和 #2)都停留在 100%,显然没有进程使用它们:
没有一个进程使用超过 5% 的 CPU。为什么这些会显示 100% 的利用率?他们仍然被内核认为是锁定的吗?
正如消息报告的那样,这是内核级代码中的错误。
这些 CPU 卡在内核代码 (vmx-cpu-0) 中,该代码在很长一段时间内都没有 yield()ing 控制 CPU。
至于要做什么 - 向 VMware 开票。
vmx-cpu-0
看起来像他们的代码,但我不完全确定。