处理 yarn build时出错 : spawn ENOMEM (Out of memory)

发布时间 2023-07-19 16:58:23作者: johnny_zhao

一、检查是否启用交换空间 

通过命令 free -m 检查Linux服务器的内存使用情况

                total       used       free     shared    buffers     cached
Mem:        2002        233       1769          0         24         91
Swap:            0          0          0

看查看到有 0 bytes 的Swap memory。:-<

交换空间是一种设定的区域,用于在物理内存不足时充当虚拟内存的扩展。当系统的物理内存耗尽时,操作系统将会使用交换空间来临时存储不活跃的内存页面或进程的部分,以释放物理内存供活跃的进程使用。

 

二、创建交换文件(swap file)来启用交换空间

1. sudo fallocate -l 4G /swapfile 创建一个4g的swapfile

2. sudo chmod 600 /swapfile 确保只有root才能访问swapfile

3. sudo mkswap /swapfile 把swapfile格式化为交换空间,并为之分配相应的控制信息

4. sudo swapon /swapfile 启用交换空间

5. echo "/swapfile noce swap sw 0 0" | sudo tee -a /etc/fstab 系统重启后也能保留着swapfile

 

三、yarn build again