[Blog]VMware 里的 mem.hotadd 导致 Linux 虚拟机启动变慢

2014-08-03 01:17:14 +08:00
 ritksm
写了个博客记录了一下: http://blog.jackriver.im/a-kernel-bug-with-vmware-vm-led-to-slow-kernel-boot/ 以下是内容直接贴过来了

最近在VMware上装了ArchLinux,之后发现启动时间非常的长。用systemd-analyze可以看到kernel用了43s而userspace只有7s。
于是我用dmesg把内核启动信息dump出来了:
(V2EX把gist直接解析出来太可怕了于是改成了短链)
http://goo.gl/cwDkKA

然后发现两个节点分别是

[ 15.084271] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[ 15.084427] acpi PNP0A03:00: _OSC: platform does not support [AER]
[ 15.084564] acpi PNP0A03:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability]

以及

[ 42.844949] pci 0000:00:15.3: bridge window [io 0x1000-0x0fff] to [bus 06] add_size 1000
[ 42.845000] pci 0000:00:15.4: bridge window [io 0x1000-0x0fff] to [bus 07] add_size 1000
[ 42.845049] pci 0000:00:15.5: bridge window [io 0x1000-0x0fff] to [bus 08] add_size 1000
[ 42.845098] pci 0000:00:15.6: bridge window [io 0x1000-0x0fff] to [bus 09] add_size 1000

所以我猜测大概是ACPI Hotplug之类的问题,然后在一番Google后,找到这么一个帖子: https://bbs.archlinux.org/viewtopic.php?id=172524
描述的完全就是我的问题,于是我就按照上面的说法修改了对应的.vmx文件里mem.hotadd的值,从TRUE改成了FALSE。
之后重新运行虚拟机测试发现,systemd-analyze的时间已经变成了kernel是2.4s而userspace仍然保持7s不变。
新的dmesg如下:
http://goo.gl/M0T4fu

所以完全就是被一个可以动态添加内存的功能给坑了,同时在帖子里看到了这个链接也表示这确实和内核的hotplug有关。

修改完一个参数之后世界就清净了。
3816 次点击
所在节点    Linux
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX