一、背景介绍
最近专业领域研究及工作需要,需要在最近购买的Windows 10笔记本,通过VMware安装Ubuntu虚拟机,并在其中安装Eclipse开发环境。由于本人从十年前的大学时代就开始在Windows平台上的VMware虚拟机上安装Ubuntu虚拟机,然后在其中做Linux相关操作,本以为该次操作轻车熟路,一帆风顺的,结果事实给自己好好上了一课。
二、问题描述
安装好VMware workstation 16 pro、XUbuntu 18.04及Eclipse后,开机启动正常,但没多久后发现XUbuntu的CPU使用率长时间超过100%,笔记本风扇开始加速,然后虚拟机里操作卡顿,最终XUbuntu图形界面卡死(如下图)。多次测试,甚至重装虚拟机客户端XUbuntu系统,重装其它flavor的ubuntu都无法避免。
出现如此的问题,是我始料未及的,因为重装客户端Ubuntu系统,并仔细确认创建虚拟机和安装客户端Ubuntu系统的每一步都没有进行明显背离VMware默认的设置。难道VMware的默认设置有问题吗?不应该啊,毕竟如此拳头的产品,并且迭代了这么多年。但仔细想想,连Windows 10也是经过这么多年的缝缝补补才到现在比较稳定可靠的系统和生态(据一起干过活的微软员工透露其操作系统测试部门被削减过),运行在其上的应用软件还有什么不可能呢(况且魔幻的疫情三年都出现了)。世界早已变了。
至此开始了长达好几十天的漫长而头疼的debug之旅,enjoy~
三、问题排查
首先,按照相关经验,怀疑是VMware 16 pro版本较新,跟自己比较熟悉的Windows 7运行较旧版本的VMware的情形相比,存在新设置并需要调教的情况。毕竟处理器和操作系统都迭代了。针对这些设置,自己一个个看帮助和琢磨肯定费心费力,只能求助于伟大的Internet了。
1.内存设置
在网络上搜寻一番并作了相关测试后,发现很多解决卡死的文章其实并不能解决问题,反而加重了我的焦虑和情绪。但偶尔看到的几篇作者能说得出大概情况的,倒是如夏日的凉风抚慰到焦灼的心灵。其中一篇提到了,VMware 16“首选项”里有一个“预留内存”的选项,这个本人先前从没见过。该选项的意思是设定需要为HOST主机预留的内存大小。这个比较好理解,假设用户创建了三个虚拟机,每个4G的内存设置,全开的话,理论情况一下子消耗HOST主机12G的内存。用户HOST主机预留的内存如果过大,则会限制这三个虚拟机能获得的可能内存,极端情况下这三个虚拟机运行就收影响了。但如果给HOST主机预留的内存设置的过小,显然也会影响到主机的系统运行,所以该处的“预留主机内存”的设置需要用户谨慎选择(如下图)。
该处设置好后,用户还需要合理设置单个客户端(guest)操作系统的内存大小设置。实测下来,内存分配充足一些,系统运行效果更好,如客户端系统内CPU使用率有一定的下降,卡死延后等。
2.显示设置
目前Linux下存在较新和较旧且存在取代关系的显示框架,xorg和wayland,多家Linux发行版厂家正在从xorg向wayland迁移中。在此不展开,感兴趣的读者可以自行搜索和探究。这跟本文描述的卡死问题有何关联呢。具体是,有几次我发现客户端(guest)Ubuntu卡死前,消耗CPU最多的就是xorg,然后在外网搜索后,看到如下一篇的问题解决回复,感觉可能相关。然后在(“虚拟机设置”,“显示器”,“3D图形”)里禁用了“加速3D图形”,然后感觉系统确实稳定了一些。
至此,已经设置了两处,但问题还是会如幽灵般的出现,且是延后出现在你以为问题解决了的更高的兴头上。
3.Hyper-V和CPU相关
上面提到“世界变了”,一个体现就是微软推出了WSL(“Windows Subsystem for Linux”),那个巨人竟然喊出了“Windows love Linux”。咱不多说,然后,本人也在Windows 10 pro笔记本里启用了WSL2。中文网页里搜索到的很多卡死的文章,说要关闭“Windows功能”里的“适用于Linux的Windows子系统”和“虚拟机平台”,这不摆明了不让用WSL2嘛,这不好接受,况且是据说能解决的样子。
没办法,只能上外网,这时候你会加深理解“英语为何能成为唯一的科学语言”。
查看了若干的网页,一条条的阅读理解,终于找对了最终的那个。
在虚拟机的“.vmx”文件里,添加一行“cpuid.1.ecx="----:---0:----:----:----:----:----:----"”!如下图。
VMware的官网论坛关于此问题的讨论如下图。
仔细看看官网论坛上该问题的讨论时间轴,从问题的提出日期“09-27-2022 05:53 PM”到最后的解决日期“07-28-2023 12:01 PM”,跨度快一年了,感叹下不容易,也解释了为啥简单网上搜搜一直找不到答案。
四、其它
在一个周日的下午,完成了人生的第一篇CSDN文章分享。
还行。
四、参考链接
VMWare Workstation 16 Pro + Ubuntu 22.04.1 - VM un... - Page 6 - VMware Technology Network VMTN
Is Hyper-V necessary or not for WSL2? Can it be activated on Windows 10 Home? · Issue #899 · MicrosoftDocs/WSL · GitHub
版权归原作者 iam7_30 所有, 如有侵权,请联系我们删除。