问题现象
宿主机 | Win11 |
---|---|
客户机 | Kubuntu 22.04 |
vmware | vmware workstation pro 17.5 |
在使用 VSCode 的时候,我的客户机总是没有规律的死机,这个时候鼠标可以移动,但是无法点击。能看出来客户机并没有真正的死机。我曾经监控过 /var/log 下面的日志,以及用 top 监控过系统资源情况,但是没能发现任何异常。后来在宿主机的虚拟机目录 vmware.log 中,看到如下一行日志,才明白发生了什么:
txt
2024-03-06T16:33:01.365Z In(05) mks VMMouse: Dropping move received while input queue was full
这是最后一行日志,非常好发现。这说明客户机不再接收任何输入,难怪表现为好像死机了!
解决方案
我搜索了这个报错,在 vmware 社区很多年前的一篇文章中找到了如下方法。
注意:
-
config.ini 的位置可能因操作系统不同而不同,请自行搜索位置。
-
config.ini 修改后保存时可能没有权限,可以先另存到桌面,然后拖动到原位置。
-
vmx文件在修改后可能发生错误,请先备份该文件。
-
在 C:\ProgramData\VMware\VMware Workstation\config.ini 添加以下两行
iniprefvmx.useRecommendedLockedMemSize = "TRUE" prefvmx.minVmMemPct = "100"
一些遇到鼠标或者键盘一直输入问题,例如 characterrrrrrrrr,可能还需要添加如下两行(未经验证)
inimks.disableTypematic = "TRUE" mks.disableRemoteClientTypematic = "TRUE"
-
修改 xxxx.vmx(该文件存在于你的客户机根目录,请将 xxxx.vmx 替换为实际名称)
inisched.mem.pshare.enable = "FALSE" mainMem.useNamedFile = "FALSE" MemTrimRate = "0" MemAllowAutoScaleDown = "FALSE"
-
如果问题仍然没有解决,可以降级到 17.0.2 的版本,你的虚拟机 vmx 中的如下一行应该修改为:
inivirtualHW.version = "20"
我不清楚这些配置到底有什么用,但是后来再也没有出现过这种情况。神奇的 vmware。