我坚持这一个。
在两台物理机器上安装Ubuntu 12.04 server 64bit。 机器是相同的,除了一个有8GB内存和有问题的机器有32GB内存,两台机器同时购买相同的规格。 Ubuntu在24小时前完全更新。
我通过SSH隧道上的X-windows使用virt-manager来pipe理虚拟机,服务器操作系统根本不运行X-windows会话。
构build并运行多个Ubuntu 12.04服务器64位虚拟机,每个虚拟机分配1GB RAM。 虚拟机的configuration基本都是一样的(原谅MAC地址等)。
8GB的机器有2xVM,32GB的机器有3个VM。 所有的虚拟机报告低负载(小于0.5,通常为0.01),并没有高度利用。
8GB主机服务器报告负载小于0.1,一般为0.01。 32GB主机服务器报告负载大于10.0持续。 同样,所有虚拟机都报告内部负载小于0.5。 最高的CPU是95%+空闲,0.0%等待。
关于为什么32GB机器具有高负载(同时主机空闲和来宾空闲),而同样configuration的8GB机器报告预期的低负载?
一台虚拟机启动时,32GB的负载变高,运行3台虚拟机不会使负载变高。 停止所有虚拟机会导致32GB的机器负载下降。
我无法弄清楚这一点。 我希望32GB的负载能够匹配8GB的负载。
更新#1:内森C
top - 16:19:54 up 8 days, 6:01, 1 user, load average: 14.33, 18.23, 18.07 Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie Cpu(s): 0.5%us, 0.4%sy, 0.0%ni, 98.9%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32938864k total, 29307380k used, 3631484k free, 331324k buffers Swap: 4182436k total, 0k used, 4182436k free, 25330400k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8752 libvirt- 20 0 3170m 747m 6932 S 7 2.3 26:27.20 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name r -uuid ... 8720 libvirt- 20 0 3969m 928m 6936 S 3 2.9 76:17.66 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name m -uuid ... 8687 libvirt- 20 0 3315m 1.0g 6936 S 2 3.3 60:33.03 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name d -uuid ...
所以经过很多调查,我现在发现机器出了什么问题。 非常感谢那些帮助过的人!
有用的网页在这里: http : //itscblog.tamu.edu/improve-disk-io-performance-in-kvm/
基本上,我的物理主机有SATA磁盘,虚拟机configuration了SATA控制器和SATA磁盘。 我不知道这意味着虚拟化子系统将提供一个虚拟的SATA而不是SATA的传递。
解决scheme是切换到virtio磁盘。 这意味着虚拟机现在意识到他们是虚拟化系统的一部分,并将合作提高性能。 (我认为这是什么意思)。
长话短说,总是在您的虚拟机上使用virtio来存储磁盘和networking。
主人现在处于一个快乐和凉爽的平均负载约2-3。 比以前的20-50好得多。