ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

虚拟机性能优化:避开常见陷阱,从底层配置提升运行效率

虚拟机性能优化:避开常见陷阱,从底层配置提升运行效率 开了这么多年虚拟机踩过的坑比大多数人装过的系统都多。先说个最扎心的结论很多人的虚拟机慢根本不是硬件不够而是压根没把虚拟化平台和客户机配置调对。虚拟机性能优化这事90%的工作发生在你真正点开安装向导之前——搞清楚你的工作负载需要什么、宿主机能挤出多少资源、哪些参数需要手动改、哪些“默认值”其实是坑这才是实战的核心。这篇文章适合正在用 VMware Workstation、VirtualBox、VMware Fusion 或者 Linux 下跑 KVM/QEMU 的人不管你是要装个 Linux 开发环境还是想把 Windows 7/10/11 塞进虚拟机里跑软件又或者是本地用 Nginx 搭多站点开发环境都能从中捞到点能直接抄作业的东西。我会把从安装到日常运行的常见瓶颈、参数设置、故障排查逐一拆开讲尽量说人话。1. 先搞清楚你的虚拟机到底慢在哪性能优化最忌讳的就是凭感觉乱调。虚拟机卡顿可能来自 CPU 调度、内存换页、磁盘 IO、网络虚拟化甚至宿主机上某个不知名的进程。如果一上来就无脑加内存加核心大概率治标不治本。1.1 用宿主机的资源监控反向定位瓶颈我的习惯是优化前先在宿主机上跑一段时间的资源监控看看虚拟机的存在到底抢占了多少物理资源。Windows 宿主机就打开任务管理器看 CPU、内存、磁盘、网络四个维度Linux 宿主机用htopiostatvmstat组合。判断逻辑很简单如果宿主机 CPU 长期在 90% 以上但虚拟机内 CPU 使用率很低说明你的虚拟机核心数可能不够或者宿主机上有其他任务在抢核心。如果虚拟机内内存占用不高但宿主机物理内存快满了同时磁盘持续高负载很可能触发了换页也就是把内存数据疯狂往磁盘倒腾。如果虚拟机一开宿主机磁盘灯就从长灭变成常亮那瓶颈八成在磁盘 IO而不是 CPU 和内存。再往深一层说虚拟机的“慢”往往不是单一原因而是多个组件一起拖后腿。比如你给 Windows 11 虚拟机分配了 4 核 8GB 内存但宿主机总共只有 16GB同时又开着浏览器、IDE、各种 Docker 容器那这台虚拟机运行起来就会频繁地把内存页写入虚拟内存文件。这时候你在虚拟机里看任务管理器CPU 和内存都还算正常机器就是卡。这类问题加内存反而不如先给宿主机腾资源来得实在。1.2 按照应用类型确定优化方向给虚拟机做资源配置不要一刀切。我的经验是把负载大致分成三类桌面交互型Windows 桌面、Linux 桌面、macOS 体验这种主要吃“响应速度”需要相对高的 CPU 主频和足够的内存对磁盘延迟也很敏感。因为人眼对卡顿非常敏感任何一项短板都会造成明显的不流畅。服务型Web 服务器、数据库、编译环境核心数和内存容量更重要因为并发请求和批处理任务主要靠多核心并行和内存缓存来提速。比如编译一个大项目4 核和 8 核的差异是肉眼可见的。网络测试型多节点组网、Nginx 多站点、跨虚拟机通信内存占用不大但网络虚拟化的方式NAT 还是桥接和虚拟网卡的型号选择直接决定吞吐量和延迟。定了类型你再决定怎么配置客户机的 vCPU、内存、磁盘接口就有的放矢了。以下是我不含糊的推荐起点类型vCPU内存磁盘接口推荐虚拟网卡类型Windows 10/11 桌面2-48GB 起NVMeVMXNET3VMware/ VirtIO-netKVMLinux 桌面Ubuntu/Fedora2-48GB 起VirtIO-SCSIVirtIO-net编译/测试服务器4-88-16GBVirtIO/NVMeVirtIO-netNginx/多站点开发环境2-24GB 足够VirtIO-SCSI桥接或 NAT 端口转发1.3 必须检查宿主机 BIOS 里的虚拟化开关这是一个老生常谈但依然很常见的问题虚拟机性能差因为连硬件加速都没开。如果你是在 Intel 平台上用 VMware任务管理器里看到 CPU 的“虚拟化”显示“已禁用”那相当于你让一个体操运动员穿着棉袄去比赛。VirtualBox 甚至会在启动客户机时直接提示没有硬件加速导致只能以极低效的模式运行。处理方法重启进入 BIOS/UEFI找到 Intel VT-x / Intel Virtualization TechnologyAMD 对应 SVM Mode也叫 Secure Virtual Machine把它设为 Enabled。同时如果你的 CPU 支持 VT-d也就是 I/O 虚拟化也一起打开这对 PCIe 设备直通和部分网络性能有帮助。请注意某些品牌的笔记本把这个选项藏得很深可能在“高级 → CPU 配置”或“处理器”里。开了之后你的虚拟机 CPU 性能会有一个质的飞跃尤其是 CPU 密集型任务。2. 虚拟机性能优化的核心参数设置硬件虚拟化开关只是基础接下来才是真正的精细活。# 两个最容易出效果的部分是 CPU 和内存调度。2.1 CPU 一般不要“给满”但要给对给虚拟机分配 CPU 核心数最容易犯的错就是把宿主机所有核心都分配给一个虚拟机。在 VMware 里如果你把全部物理核心都给了客户机宿主机自身和宿主机上的其他程序就会感到饥饿并且会发生频繁的 vCPU 调度竞争。在 KVM/QEMU 里如果 vCPU 数超过物理核心数还会引入额外的上下文切换开销。我常用的参考逻辑是单台虚拟机最多分配物理核心数的一半到四分之三。比如宿主机是 8 核 16 线程桌面型虚拟机给 4 核心或 6 核心就比较合理如果只是跑个轻量级 Linux给 2-4 核心就够。这里有一个真正影响性能但容易被忽略的参数——在 VMware 客户机设置里有个“虚拟化 CPU 性能计数器”和“启用 CPU 硬件虚拟化加速”选项前者一般不要开后者默认开启即可。VirtualBox 里则建议去全局设置里把“硬件加速”选项卡下的“在半虚拟化接口”改成 Hyper-V前提是你本机开启了 Windows 的 Hyper-V 组件。实测下来VirtualBox 用 Hyper-V 接口比默认的 Minw 在 Windows 宿主上稳定性和性能都好不少。2.2 内存分配的“爽快”和“抠门”要分开处理内存是虚拟机性能提升最直接的元素但也不是越大越好。分配的物理内存超过实际需求反而会压缩宿主机可用的页缓存导致磁盘缓存变小性能下降。合理的做法是优先保证宿主机至少留有 2-4GB 空闲内存用于页面缓存和系统响应。如果你要开两台以上的虚拟机最好先算一下总预算比如宿主机 32GB创两台 8GB 的客户机宿主机还有 16GB 可支配缓存和磁盘 IO 都有余量。另外内存的“预留”在 VMware 里有讲究。“预留”表示无论客户机用不用这段物理内存都会锁定给 VM。这能避免物理内存超量分配带来的换页风险代价是降低了内存的灵活分配。我的建议是对生产环境或追求稳定响应的虚拟机预留至少一半分配内存对日常测试机不预留让宿主机按需分配。还有个小技巧Windows 客户机在系统属性里把虚拟内存的页面文件放到一个独立的虚拟磁盘或者固定大小能减少系统因为页面文件扩张带来的卡顿。Linux 客户机则要注意 swap 分区不要太小否则高负载时系统会直接杀进程。2.3 别忽略 VMware 的“CPU 使用率”高级选项在 VMware Workstation 的虚拟机 CPU 属性里还有一个容易被忽略的高级设置“虚拟 CPU 数量”下方的“CPU 使用率”下拉框用来限制客户机最多占用多少物理核心数。如果把它设置成“单核”即使你分 4 个 vCPU客户机也只会轮换使用一个物理核心。这是个很好的压测工具但如果你想跑性能密集任务请确认这里选的是“多核”或“任意”。2.4 客户机内的系统参数也要配合调整分配了资源客户机里也得同步优化否则就是我们常说的“一笔糊涂账”。Windows 虚拟机里建议在有条件的情况下设置电源模式为“高性能”或“卓越性能”避免系统为了省电而降频。Linux 虚拟机里建议更换服务器内核或者定期执行systemctl set-default multi-user.target来减少图形环境的内存占用如果你是无头服务器。还有Linux 虚拟机里如果跑的是桌面可以关掉动画和后台自启动应用用 gnome-tweaks 把动画关闭能明显降低 CPU 占用。3. 磁盘和存储优化性能瓶颈的最大来源这是整个优化工程的大头。我经手过的项目里80% 的“开机慢、应用启动慢、打开项目转圈”最后定位都是磁盘 IO 问题。而且大多数情况下问题出在虚拟磁盘的类型、存储位置和 IO 模式上。3.1 虚拟磁盘类型固定大小还是动态扩展创建虚拟机时虚拟磁盘一般有两种组织形式固定大小和动态扩展。固定大小如 VMware 的“立即分配所有磁盘空间”一次性在宿主机上划出完整的磁盘文件速度快、碎片少、IO 性能稳定。动态扩展则按需增长文件小、创建快但使用过程中会不停触发元数据更新长期使用后可能性能下降并且容易因为宿主机磁盘空间不足导致虚拟机崩溃。我的建议很明确只要宿主机硬盘空间允许优先选择固定大小。尤其是 Windows 客户机其 NTFS 文件系统在动态扩展盘上会随着文件删除和新建不断产生内部碎片累积到一定程度会让磁盘响应时间成倍增长。你可以创建一个 60GB 的固定虚拟磁盘然后只使用其中 40GB 空间对性能和稳定性都是最优解。动态扩展盘适合临时测试、空间吃紧的场景。3.2 VirtIO、NVMe、SCSI哪种磁盘控制器更好在 KVM/QEMU 中磁盘控制器类型直接决定 IO 性能。默认经常是 IDE 控制器兼容性好但性能低下。现代系统建议优先选择 VirtIO 或 VirtIO-SCSI。对于 Windows 客户机安装 virtio-win 驱动后使用 VirtIO 控制器性能远超 SATA对于 Linux 客户机virtio 是标配。VMware 里则尽量选择 NVMe 控制器或者最新的 Paravirtual SCSI。实际跑分中NVMe 虚拟控制器在 4K 随机读写上的表现明显好于 SATA 模拟如果你总是在虚拟机里执行 npm、gradle、docker build 这类小文件密集型操作观察会比较明显。3.3 把虚拟磁盘放到 SSD 上并且保留 trim物理存储介质是虚拟磁盘性能的下限。你可以做各种系统调优但如果你把虚拟机镜像放在一块 5400 转的机械硬盘上那什么优化都救不回来。所以第一步是尽量把虚拟机镜像放到 SSD 上。如果宿主机是 SATA SSD至少保证 IOPS 足够如果能上 NVMe SSD那就更好。SSD 上还涉及一个特殊的操作TRIM。Windows 虚拟机里要确保系统启用了“启用写入缓存”和“Trim”支持在 VMware 里对应选项是“增强型虚拟键盘”下方的“启用 SSD 直通”或“固态硬盘选择”。在客户机里对 Windows 执行Optimize-Volume -DriveLetter C -ReTrim对 Linux 执行fstrim -av可以使 SSD 保持长期性能。我第一次在 Linux 虚拟机里月复一月地跑 fstrim 后磁盘团队眼睁睁看着写入延迟降了三分之一这是一件耐心活。3.4 快照不要当备份长期保留快照功能对开发和测试非常友好但快照本质上是“增量数据”。当你创建快照后所有新写入的数据都会累积到快照文件中原磁盘文件变成了只读镜像。如果你保留多个快照虚拟机每次磁盘写入都要回溯整个快照链性能会大幅劣化。很多人用着用着发现虚拟机越来越慢先查快照数。实践规范是用完即删。比如装完系统打一个干净快照后后面做各种破坏性测试测试完毕直接回到快照再把不用的快照删除。如果你需要多个稳定版本可以复制虚拟机而不是用快照。3.5 碎片整理和磁盘扩容的实操机械硬盘上本机客户机里定期做磁盘碎片整理Windows 使用系统自带整理Linux 则不维护碎片但可以用fstrim。在 SSD 上没必要做碎片整理反而会缩短寿命。做大文件扩容时VMware 可以直接用 vmware-vdiskmanager 工具调整大小VirtualBox 可以用VBoxManage modifymedium disk --resize。但要注意扩容后客户机里还需要执行磁盘分区扩容比如 Windows 磁盘管理里“扩展卷”Linux 用growpart或resize2fs。很多小白扩容后看不到新增容量就以为失败了其实分区层面还没处理。4. 网络配置优化与常见连接问题网络性能优化在不同场景下需求完全两样如果是给宿主机提供服务需要端口转发和稳定 IP如果要虚拟机对外提供网站服务需要桥接模式如果纯粹内部联调NAT 反而干扰最少。这里我重点讲开发人员最常用的几种场景。4.1 桥接、NAT、内部网络分别什么时候用NAT虚拟机通过宿主机 NAT 出去宿主机可以访问虚拟机但外部不能主动连进虚拟机。适合日常上网和未映射端口的服务。桥接虚拟机直接接入局域网获得一个局域网 IP表现像一台独立机器。适合部署 Nginx、调试多设备访问、或者必须让交换机识别的场景。内部网络 / 仅主机与宿主机共享一个私有网络虚拟机之间可以通信但出不了宿主机。适合纯本地联调和隔离测试。对于开发环境我的经验是如果只是想在本机浏览器里访问虚拟机里的 Nginx最简单的方案是 NAT 端口转发。比如虚拟机 IP 是 192.168.100.10Nginx 监听 80那就在 NAT 设置里把宿主机的 8080 端口转发到 192.168.100.10:80。之后直接访问localhost:8080即可。如果你需要配 HTTPS 且域名本地解析那就桥接模式配合宿主机 hosts 文件更顺手。4.2 多站点 Nginx 跨虚拟机多端口自定义域名配置这个场景在很多热词里出现了确实是本地开发环境的高频需求。方案是桥接或仅主机网络给每台虚拟机一个固定 IP然后在宿主机 hosts 文件里把 site1.test、site2.test 指向对应 IP虚拟机里的 Nginx 配置多个 server 块监听不同端口或相同端口。比如server { listen 80; server_name site1.test; root /var/www/site1/public; index index.php index.html; } server { listen 80; server_name site2.test; root /var/www/site2/public; }就绪后宿主机访问http://site1.test和http://site2.test实际都会通过 hosts 解析到虚拟机的 IP我再强调一次不要在虚拟机里设置 DNS直接把 IP 绑定写在宿主机 hosts。另外如果多个服务要使用不同的物理端口还可以在虚拟机的 Nginx 里开 8080、8081宿主机再用 iptables 或 nginx 代理端口映射。开发环境就图一个干净。4.3 “线缆已拔出”和“宿主机无法访问虚拟机网站”的排查VirtualBox 里 Ubuntu 虚拟机网卡显示“线缆已拔出”这块我见的频率相当高。原因往往不是物理线缆而是虚拟机网络类型没选对。如果你的虚拟机用的是“桥接网卡”但宿主机用的是无线网卡或者 ISP 的某些接入方式桥接可能拿不到 DHCP就会误报“未连接”。解决办法在 VirtualBox 的设置里改成“仅主机(Bridged)”然后仔细确认你选的是宿主机当前用来上网的那块网卡。如果宿主机在办公室网络环境里交换机开了端口隔离桥接也收不到包此时回到 NAT 模式然后在客户机里用dhclient重新获取 IP。宿主机无法访问虚拟机上的网站常见原因有三个。第一虚拟机防火墙没放行端口Ubuntu 里用sudo ufw allow 80/tcp或iptables -I INPUT -p tcp --dport 80 -j ACCEPT第二虚拟机的 IP 变了查一下ip addr确认和宿主机 hosts 里写着的是否一致第三虚拟机里 web 服务只监听了127.0.0.1需要改成0.0.0.0才能让外部访问。有一次我排查了很久才发现 Nginx 的listen写成了localhost折腾了一小时。4.4 网络适配器型号对性能有隐性影响VMware 里默认虚拟网卡类型可能是 e1000老兼容但性能一般KVM 里默认也可能是 e1000。如果你追求网络吞吐一定要把它换成半虚拟化网卡。VMware 用 VMXNET3KVM 用 VirtIO。更换步骤是先关闭虚拟机在 VMware 里添加一个网络适配器并选择 VMXNET3客户机里安装对应驱动后删除旧网卡。Windows 客户机如果在装 VMware Tools 时正确安装了网络驱动这个过程很简单Linux 客户机一般加载 virtio_net 模块后就能直接识别。如果你在 VMware 里遇到“网络性能差大文件拷贝只有 100MB/s”的情况检查一下虚拟网卡是不是 VMXNET3同时看看虚拟机内部的“大型发送卸载 LSO”是否开启。5. 安装、启动与日常运行的“鬼故事”实录围绕热词里那些“蓝屏”“无法启动”“自动关闭”“BOOT”和“macOS”都是优化路上的常态。我会挑几个典型的场景拆解。5.1 VMware 启动虚拟机蓝屏以及 Windows 11 安装报 BOOT在 VMware Workstation 或 Fusion 中启动 Ubuntu 虚拟机直接蓝屏大概率是 VMware Tools 版本和内核不匹配或者宿主机与虚拟机之间的兼容模块出了问题。出现这类情况时先尝试在“虚拟机设置 → 选项 → 高级”里把“虚拟化 CPU 硬件加速”改一下比如从“自动”改成“Intel VT-x/AMD-V”。如果你已经在用 NVIDIA 显卡宿主机上试一下更新显卡驱动因为 VMware 图形渲染会调用显卡驱动驱动有问题偶尔会触发蓝屏。Windows 11 虚拟机在安装时卡在“Boot failure”或者“无可引导设备”常见原因是客户机设置里固件类型选错了。Windows 11 要求 UEFI 启动但很多人的 VMware 虚拟文件默认用的还是传统 BIOS。解决方式是在创建虚拟机时选择“UEFI”作为固件类型并且确保“虚拟化引擎 - 偏好虚拟化”开启。如果你是在 VirtualBox 里遇到 Win11 无法启动还要顺手开启“启用 EFI”选项。5.2 macOS 虚拟机在 M1/M4 Mac 上的启动问题热词里有“macminim4安装虚拟机”和“macos26虚拟机opencore”。M4 Mac 上装虚拟机首选 VMware Fusion 或 QEMU 方案。如果你用的是 OpenCore 引导要注意固件配置和驱动完整性。M4 和 Intel 的 CPU 架构不同不是所有 ISO 都能直接启动。建议下载官方支持的 macOS 恢复映像用 UTM/VMware Fusion 自带的介绍向导而不是自己手搓 OpenCore。有些人在 M 系列上遇到虚拟机打开后只看到 Apple logo 转圈或直接黑屏先检查 CSV 文件和内存映射设置。老实说macOS 虚拟机本身性能远不如实体机如果你是要跑 Xcode还是直接上实体机更靠谱如果是体验和测试稍微调低分辨率和关闭动画能换来流畅很多。5.3 VM 自动关闭、创建虚拟机闪退、DiskGenius 转 U 盘VMware 里“虚拟机会自动关闭”可能是 Hyper-V 功能冲突。Windows 10/11 如果启用了基于虚拟化的安全VBS或者 Windows 沙盒、内存完整性就会和 VMware 产生冲突。处理方式是在“Windows 功能”里关闭 Hyper-V、Windows 虚拟机监控程序平台再在 PowerShell 里执行bcdedit /set hypervisorlaunchtype off重启后 VMware 的稳定性会大幅提升。虚拟机里跑 DNF 出现“五国后服务器连接失败”大概率不是性能问题而是虚拟机的网络模式导致游戏服务器连接不稳定换成桥接最好。VMware 创建虚拟机时“闪退”的情况多半是宿主机图形驱动或远程桌面会话的问题。尝试以兼容模式运行 vmware.exe或者更新显卡驱动如果是在远程桌面安装 VMware尽量改用控制台或者物理机。“DiskGenius转虚拟机为U盘”这段热词我理解是想把物理机系统做成虚拟机镜像然后再封装到 U 盘。实际操作时用 DiskGenius 直接拷贝分区是可用的但磁盘控制器的驱动和引导签名问题很麻烦。如果你想直接整机迁移到虚拟机推荐用 VMware 的 vCenter Converter 工具或者用 Clonezilla 做分区对拷然后修复引导。直接复制 U 盘文件不能保证虚拟机启动。5.4 VirtualBox 安装 Linux 后鼠标变成一个点不响应这不是性能问题而是 VirtualBox 的 Guest Additions 没有安装或者安装不完全。哪怕你已经装了增强功能如果客户机内核更新过增强包的内核模块也会失效。重新安装 VirtualBox Guest Additions并在 Ubuntu 里执行sudo apt update sudo apt install -y build-essential linux-header-$(uname -r) dkms sudo sh /media/用户/VBox_GAs_*/VBoxLinuxAdditions.run重启后鼠标模式就能正常切换了。另外如果你在无头环境的 VNC Viewer 里遇到类似鼠标异常可以关掉虚拟机的“方向键融合”和“绝对指针设备”只保留普通鼠标仿真。6. 实战优化清单与逃不掉的性能测试前面讲了原理和参数最后我给出一份可以直接照着执行的优化清单以及验证效果的关键测试方法。我个人每次给客户做虚拟机优化都是按照这个顺序来做。6.1 七步走优化清单检查宿主机 BIOS开启 VT-x/AMD-V 和 VT-d关闭 Quick Boot 或降低安全启动影响。更新虚拟化平台和客户机工具VMware 装最新版 VMware ToolsVirtualBox 升级到 7.x 并安装 Guest AdditionsKVM 确保客户机有 virtio 驱动。关闭 Hyper-V 冲突Windows 宿主上如果遇到 VMware/KVM 运行异常先关掉 Windows 的 Hyper-V 和内核隔离功能。重新配置客户机 CPU/内存单台 vCPU 不超过物理核心 3/4内存按照第 2 节的方法预留。存储篇把虚拟磁盘放到 SSD使用固定大小或高性能控制器删除多余快照执行 trim。网络篇确定桥接/NAT开启 VMXNET3 或 VirtIO 网卡关闭不必要的流量过滤检查防火墙。客户机内优化Windows 高性能电源计划Linux 关闭图形特效更新内核和驱动。6.2 用测试数据说话别靠感觉性能优化有没有效果一定得用数据确认。我喜欢在虚拟机里跑sysbenchLinux或者 CrystalDiskMarkWindows来对比前后数据。给你一个参考命令# CPU 性能测试4线程运行10秒 sysbench cpu --threads4 --time10 run # 内存读写测试 sysbench memory --memory-block-size1M --memory-total-size10G run # 磁盘顺序和随机读写测试 fio --nametest --rwrandwrite --bs4k --size1G --numjobs1 --runtime30 --group_reporting用这些数据对比优化前后的分数哪个环节有提升哪个环节还是短板一目了然。比如我发现 fio 的 4K 随机写延迟从 30ms 降到 5ms 时心理踏实这代表日常打开 IDE 和切换应用都会顺畅很多。如果你懒得测也可以直接在虚拟机里感受打开大型项目首次加载的时间。我上次优化完一个 Ubuntu 虚拟机VSCode 启动时间直接从 22 秒降到了 8 秒这就是实实在在的回报。6.3 几个容易忽略但影响巨大的细节首先是虚拟机内存交换。VMware 里如果你在“内存”设置中勾选了“允许交换大部分客户机内存”这会允许客户机内存被交换到宿主机磁盘性能会变得极差。除非内存严重不足否则别勾。然后是 CPU 亲和性。KVM/QEMU 里可以用taskset或者virsh vcpupin把 vCPU 绑定到物理核心减少缓存抖动。VMware 用户可以在配置文件中加prefvmx.minVmMemPct 100这类参数但我建议普通用户不要折腾。最后千万不要忘记设置虚拟机内的显示器分辨率和缩放。如果你把一个高分辨率显示器设置为虚拟机的唯一分辨率客户机光显示渲染就会消耗大量 GPU 资源操作起来卡顿。用 1920x1080 或者缩放 125% 作为日常能腾出更多硬件资源给实际任务。7. 常见问题速查表附解决方案做优化的日子里下面这些问题出现频率最高我整理成表方便以后直接对照。症状可能原因解决方案虚拟机开机极慢磁盘灯狂闪动态磁盘、没开 TRIM、快照过多改用固定盘、执行 trim、清理快照CPU 占用高但虚拟机内不卡宿主机上其他程序抢CPU限制死VM的CPU调度、关闭其他多开任务虚拟机和宿主机互 ping 不通网络模式不对、防火墙拦截查看网卡类型放行 ICMP 和指定端口Ubuntu 虚拟机提示“线缆已拔出”桥接网卡选错或 DHCP 没生效切换网卡模式手动设置静态 IPVMware 启动 Ubuntu 蓝屏hypervisorlaunchtype 冲突关闭 Hyper-V更新 VMware ToolsWindows 11 安装提示无 BOOT固件类型和 Secure Boot 不匹配虚拟机设置启动模式为 UEFI开启 EFIVirtualBox 鼠标卡住Guest Additions 未装好安装 DKMS 支持并重装增强功能多站点域名无法访问hosts 和 Nginx server_name 不一致统一 hosts 映射和 server_name虚拟机拷贝文件速度慢e1000 网卡限制换成 VMXNET3 / VirtIO虚拟机自动关闭Hyper-V 或 VBS 冲突关闭内核隔离执行 bcdedit /set hypervisorlaunchtype off最后分享一条我认为最值得记住的心得虚拟机的性能优化永远是一个“平衡的艺术”。你不能把宿主机榨干去喂虚拟机也不能在几乎没资源的机器上要求客户机跑得飞起。先定负载、再给资源、最后测数据这一套流程下来绝大多数性能问题和体验问题都会迎刃而解。我自己调过最极端的一台机器是一台只有 8GB 内存的 i5 笔记本关掉 Hyper-V、把 VMware 换成 VirtualBox、调成 2 核 4GB 内存 固定磁盘结果在那上面跑轻量级 Ubuntu 开发环境依然很顺畅。秘诀就是看清楚你真正需要什么然后把有限的资源精准地投到最关键的地方。
返回列表