这个是vmtools的BUG么, 还是应该换个Linux内核版本, 文件共享导致系统冻结
最近无聊的把 VMWare (版本 9.0.1) 里的Linux升级到最新的版本, 内核版本 3.5.0, 好像 hgfs 出了不少问题.
在大并发数的访问共享文件, 比如找个大点的工程, 在VM共享的目录下运行 make -j8 啥的, 跑不了多久, 系统就被冻结.
然后VMWare里发现CPU被100%的占用, 如果在运行时, 同时跑了一个shell运行着 top 或者其他啥的, 运气好可以看到是 ksoftirqd/0 ... 几个进程占用了全部的CPU, 然后就只有重启了.
经过测试, 冻结的时间与分配的内存数量关系不大, 我试过分配4G,6G,8G..内存给VM,好像差别不大, 随给VM分配的CPU个数增加, 重现的几率大大增加, 我给VM分配2个核, 基本上可以编译200来个文件才会重现, 分配4个核, 则编译50来个文件就很可能挂了, 分配8个核, 则基本才开工就挂.
在不是VM共享的目录里编译则没有这些问题, 运行起来很顺利, 我就是给VM分配8核16G内存, 跑make -j16 也没有问题, 很顺利的说.
Google上能找到少量的说明, 好像是编译内核的时候要加个特殊的配置可以避免这个问题, 但说明都很不详细, 唉. 好像不光是 VMWare 出问题, VPC 啥的也有反应相似的问题, 不同的Linux发行版好像都不能避免.
有遇到同样问题的没有, 有啥办法解决, 不能用VM share太不方便了.