Ubuntu 服务器在 VirtualBox 上的负载很高

Ubuntu 服务器在 VirtualBox 上的负载很高

我有一个 Ubuntu 12.04 x64 映像,我将其用于不同虚拟化系统上的不同客户。当前客户使用 VirtualBox,系统负载很高,响应非常慢。

顶部输出:

top - 09:27:58 up 4 days, 10:19,  1 user,  load average: 0.78, 0.87, 0.87
Tasks: 118 total,   2 running, 116 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.4%us,  0.8%sy,  0.0%ni, 90.4%id,  3.1%wa,  0.0%hi,  4.3%si,  0.0%st
Mem:  32174396k total,  4213080k used, 27961316k free,   347136k buffers
Swap:  2096124k total,        0k used,  2096124k free,  2108644k cached

以下是“ps aux”的输出

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  24336  2260 ?        Ss   Jul10   0:06 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul10   0:02 [kthreadd]
root         3  5.8  0.0      0     0 ?        S    Jul10 371:31 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Jul10   0:00 [kworker/0:0H]
root         7  1.8  0.0      0     0 ?        S    Jul10 118:43 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Jul10   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Jul10   0:00 [rcuob/0]
root        10  0.0  0.0      0     0 ?        S    Jul10   0:00 [rcuob/1]
root        11  0.0  0.0      0     0 ?        S    Jul10   0:00 [rcuob/2]
root        12  0.0  0.0      0     0 ?        S    Jul10   0:00 [rcuob/3]
root        13  1.5  0.0      0     0 ?        S    Jul10  98:01 [rcu_sched]
root        14  0.4  0.0      0     0 ?        S    Jul10  26:19 [rcuos/0]
root        15  0.3  0.0      0     0 ?        S    Jul10  25:16 [rcuos/1]
root        16  0.3  0.0      0     0 ?        S    Jul10  22:59 [rcuos/2]
root        17  0.3  0.0      0     0 ?        S    Jul10  22:25 [rcuos/3]
root        18  2.0  0.0      0     0 ?        S    Jul10 132:56 [watchdog/0]
root        19  1.5  0.0      0     0 ?        S    Jul10  97:19 [watchdog/1]
root        20  1.4  0.0      0     0 ?        S    Jul10  93:34 [migration/1]
root        21  6.8  0.0      0     0 ?        S    Jul10 432:20 [ksoftirqd/1]
root        22  0.0  0.0      0     0 ?        S    Jul10   0:00 [kworker/1:0]
root        23  0.0  0.0      0     0 ?        S<   Jul10   0:00 [kworker/1:0H]
root        24  0.4  0.0      0     0 ?        S    Jul10  27:45 [watchdog/2]
root        25  0.6  0.0      0     0 ?        S    Jul10  42:32 [migration/2]
root        26  1.5  0.0      0     0 ?        S    Jul10  97:07 [ksoftirqd/2]
root        28  0.0  0.0      0     0 ?        S<   Jul10   0:00 [kworker/2:0H]
root        29  0.2  0.0      0     0 ?        S    Jul10  15:43 [watchdog/3]
root        30  0.7  0.0      0     0 ?        S    Jul10  48:06 [migration/3]
root        31  1.3  0.0      0     0 ?        S    Jul10  87:48 [ksoftirqd/3]

客户机分配了 32gb RAM 和 4 个核心。CPU 是 Intel(R) Xeon(R) CPU E5-2609。我知道主机是 Windows 系统。

iostat 的输出:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.31    0.01    3.67    6.67    0.00   89.35

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0              0.00         0.00         0.00         48          0
sda               0.99         5.57        11.70    2129835    4477412

值得注意的是,ksoftirqd 和其他进程的 CPU 使用率/负载很高。有什么想法是什么原因造成的吗?虚拟机本身在其他系统上运行得很好,所以我猜这是主机/虚拟机-主机配置的问题。

答案1

服务器通过 IRQ(中断请求)与连接到它的设备进行通信。当设备发出中断时,如果 ksoftirqd 占用的 CPU 时间超过很小一部分,则表明机器的中断负载很大。

使用 lspci 检查日志

查看此链接以供参考:https://askubuntu.com/questions/7858/why-is-ksoftirqd-0-process-using-all-of-my-cpu

相关内容