V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ritksm
V2EX  ›  Linux

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

  •  
  •   ritksm ·
    ritksm · 2014-08-03 01:17:14 +08:00 · 3908 次点击
    这是一个创建于 3766 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了个博客记录了一下: 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有关。

    修改完一个参数之后世界就清净了。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:58 · PVG 20:58 · LAX 04:58 · JFK 07:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.