如果你的虚拟机内存太小导致系统卡顿、软件闪退,最直接的解决方案是依次尝试调高虚拟机内存分配、开启系统虚拟内存、以及扩展虚拟磁盘空间,三步走基本能解决90%以上的内存不足问题。
先看第一种方法:调高虚拟机内存分配,让出更多物理内存
大多数虚拟机软件默认分配的内存都偏保守,特别是用VMware Workstation或VirtualBox装Windows系统时,默认只有2GB左右,这跑Win10或Win11确实捉襟见肘。修改虚拟机设置里的内存参数是最先要做的操作,不需要重装系统,改完重启虚拟机就生效。
更深入:确认宿主机内存够不够,再决定分配上限
动手改之前,先看看你电脑本身的物理内存有多大。建议宿主机的内存不低于16GB,否则虚拟机分走太多,你宿主机自己反而会卡死。
具体操作路径如下:
- 在VMware Workstation中,先关闭虚拟机电源(不是挂起),再右键虚拟机选择“设置”
- 找到“内存”选项,拖动滑块或直接输入数值,推荐分配4GB起步,如果是8GB物理内存的机器,给虚拟机分4GB是比较稳妥的中间值
- 如果你平时用虚拟机跑数据分析、Docker环境这类吃内存的场景,可以分到宿主机的50%左右
在正式使用前,有条件的可以先测试一下:把虚拟机内存从4GB调到6GB,再打开任务管理器看内存占用曲线,如果曲线平稳不触碰上限,说明这个配置够用。
如果宿主机内存本来就小,优先关掉没用的后台程序
有用户问“虚拟机内存太小怎么办”,其实很多情况下问题出在宿主机本身开了太多东西,检查一下右下角托盘,关掉微信、浏览器里几十个常驻标签页,这些都是在和虚拟机抢物理内存,据统计,多数用户的电脑后台常驻程序会白白吃掉2GB以上的内存。

第二种方法:开启系统虚拟内存,用硬盘空间扩充系统总内存
这个方法常被忽略,但它其实是最省钱且见效快的扩容手段。虚拟内存的本质是Windows或Linux在硬盘上划出一块区域当作内存使用,当物理内存不够用时,系统会把暂时不用的数据挪到这块区域,从而腾出物理内存给前台应用。
Windows虚拟机怎么开虚拟内存
打开Windows虚拟机的“此电脑”,右键属性进入“高级系统设置”,在性能区域点击“设置”,切换到“高级”选项卡,点击虚拟内存的“更改”按钮,具体步骤:
- 取消勾选“自动管理所有驱动器的分页文件大小”
- 选择你空间较充足的盘(最好是C盘之外的数据盘)
- 点击“自定义大小”,初始大小设置为2048MB,最大值设置为4096MB,然后点击“设置”确认,重启虚拟机生效
这里有一个比较实操的经验:如果你的C盘剩余空间只有20GB以下,建议把虚拟内存文件放到D盘或独立数据盘,避免C盘碎片化影响性能。
Linux虚拟机用swap分区扩容内存
Linux系统(比如Ubuntu Server、CentOS)的做法是给系统添加一个swap文件,它的作用等同于Windows的页面文件,操作路径如下:
- 用管理员权限进入终端,执行
fallocate -l 4G /swapfile创建一个4GB的交换文件 - 执行
chmod 600 /swapfile收紧权限,再执行mkswap /swapfile将其格式化为swap格式 - 最后执行
swapon /swapfile临时启用,并把它写入/etc/fstab使其开机自动挂载
下表对Windows虚拟内存和Linux swap做了对比:
| 项目 | Windows页面文件 | Linux swap文件 |
|---|---|---|
| 创建时长 | 不到1分钟 | 2分钟左右 |
| 默认大小 | 系统自动管理 | 无默认,需手动指定 |
| 调整灵活性 | 需重启生效 | 执行命令即时生效 |
| 适用场景 | 桌面办公、设计软件 | 服务器、容器化环境 |
行业共识认为,swap分区或页面文件的大小建议控制在物理内存的1到2倍之间,过大的swap会让系统频繁读写硬盘,反而拖慢速度。
第三种方法:扩展虚拟磁盘空间,从根源上缓解内存压力
你可能会觉得“内存不够关磁盘什么事”?虚拟内存文件本身就要占用磁盘空间,当虚拟机的C盘几乎写满时,系统无法正确扩展分页文件,内存不足问题就会雪上加霜。虚拟机内存扩容前先确认磁盘余量是否充足,非常关键。
对VMware虚拟机扩展磁盘容量的操作
在VMware Workstation中,关机状态下打开虚拟机设置,找到“硬盘”设备,右侧有一个“扩展”按钮,点击后输入希望扩展到的总容量,比如从40GB扩到80GB,然后点确定,这个操作不破坏已有数据,相当于把一块物理硬盘的总容量变大,但操作系统里的分区大小还需要手动调整。
扩展后还需要在系统内分区调整
扩展磁盘只是让“硬盘变大了”,Windows里的C盘分区大小不会自动跟着变,需要进入系统用“磁盘管理”工具执行扩展卷操作。步骤是:
- 按Win+X组合键打开“磁盘管理”
- 找到C盘,右键选择“扩展卷”
- 按向导把新增加的未分配空间合并到C盘
如果是Linux虚拟机,用growpart命令加

resize2fs组合操作,一步步把根分区的文件系统扩展到整个磁盘。
这里顺便说一下,如果你的虚拟机是训练模型或者跑数据库用的,磁盘IO能力比磁盘容量更关键,官方推荐把虚拟机的磁盘类型改为NVMe(如果虚拟化平台支持),性能会比默认的SATA有明显提升。
内存扩容常见问题
虚拟机内存分配多少合适?
这个没有绝对标准,但可以遵循一条经验法则:普通办公用途给4GB就够,Windows开发环境或轻度数据处理建议8GB,跑多个容器或大型软件测试需要16GB及以上,建议结合宿主机物理内存来权衡,给虚拟机分配内存不要超过宿主机硬件内存的50%。
为什么给虚拟机加了内存后,系统运行还是卡?
先看一眼是不是磁盘空间满了,特别是C盘和缓存目录,如果磁盘可用空间很少,加再多的物理内存虚拟机也容易出现卡顿,因为页面文件无法正常工作,检查虚拟机是否安装了VMware Tools或VirtualBox Guest Additions,这类增强驱动会显著提升内存和显存的调度效率。
虚拟内存和物理内存的区别是什么?
虚拟内存是借用磁盘空间来充当内存,速度比物理内存慢不少,但胜在可以灵活扩容,而且基本不花钱;物理内存则是真正的内存条容量,并由虚拟机监控程序直接分配,速度最快,但受限于宿主机硬件,日常使用中,两者各司其职,物理内存不够时虚拟内存会兜底,但扩充虚拟内存的同时也别忘了关注磁盘剩余空间,否则兜底方案也会失效。
三种方法总结下来,优先考虑虚拟机设置内的内存调整,其次开启系统虚拟内存用于应急,最后通过磁盘扩容巩固整体性能,基本能够解决绝大部分虚拟机内存不足的痛点。
