Windows磁盘扩容后内存反而不够啦

204 阅读2分钟

问题

C盘扩容后,磁盘空间已经增加,但是VSCode、Edge、Node等经常性报内存溢出的提醒。

  • Edge提醒

image.png

  • VSCode 前端程序打包经常失败、VSCode经常卡退
production

⠏  Building legacy bundle for production...
<--- Last few GCs --->

[20796:000001F63DFDDD20]     1952 ms: Scavenge 52.9 (70.8) -> 43.9 (72.6) MB, 20.2 / 0.0 ms  (average mu = 1.000, current mu = 1.000) allocation failure
[20796:000001F63DFDDD20]     2108 ms: Scavenge 55.3 (72.6) -> 47.3 (76.8) MB, 28.3 / 0.0 ms  (average mu = 1.000, current mu = 1.000) allocation failure
[20796:000001F63DFDDD20]     2292 ms: Scavenge 60.5 (77.8) -> 52.1 (81.3) MB, 43.6 / 0.0 ms  (average mu = 1.000, current mu = 1.000) allocation failure


<--- JS stacktrace --->

FATAL ERROR: NewSpace::Rebalance Allocation failed - JavaScript heap out of memory


#
# Fatal error in , line 0
# Fatal process out of memory: Zone
#
#
#
#FailureMessage Object: 000000C90D7FA8E0
 1: 00007FF6F6BF158F
 2: 00007FF6F6B0C5CF
 3: 00007FF6F77EDE32
 4: 00007FF6F749C74E
 5: 00007FF6F70378B7

没有对症的方法

由于最先是前端项目打包提醒内存不足,而且C盘扩容后,我重新安装了nvm、node,所以目光一直局限在node的解决方法上。

  1. 设置node内存,不对症 node --max-old-space-size=4096
  2. 安装插件,不对症
npm install -g increase-memory-limit

有效的解决方法

  1. 打开系统属性弹框-高级-设置 环境变量页面 image.png 2.性能选项-高级-虚拟内存-设置 image.png 3.按照系统推荐大小设置 也可以自定义大小 image.png

Windows系统的虚拟内存

虚拟内存也称为交换文件(swap file)或分页文件(paging file),分页文件是硬盘上的一块区域,Windows 当作 RAM 使用。 Windows虚拟内存是把物理内存(RAM)中使用频率较低的数据临时转存到硬盘上。这样,Windows 就能把速度更快的 RAM 资源留给正在运行的应用和进程优先使用。这不仅能提升整系统的整体性能,还可以在 RAM 资源紧张时防止系统出现卡顿。