1. 程式人生 > 其它 >virtual memory exhausted: Cannot allocate memory

virtual memory exhausted: Cannot allocate memory

問題現象:編譯node-v12.20.1時報錯:

解決方法:按如下步驟自行增加虛擬記憶體。

檢視記憶體使用狀況:

free -m

建立目錄/opt/images/(路徑可自定義):

sudo mkdir /opt/images/
rm -rf /opt/images/swap

建立2GB大小的檔案:

sudo dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000

把建立的檔案變成SWAP分割槽:

sudo mkswap /opt/images/swap

啟用這個SWAP檔案:

sudo swapon /opt/images/swap

看看SWAP是否生效:

free -m

可以看到的確有2GB的SWAP記憶體:

重新編譯node-v12.20.1成功。

完成後關閉SWAP:

cd /opt/images/
sudo swapoff swap
sudo rm -f /opt/images/swap

以後再出現記憶體不足可以通過增加SWAP虛擬記憶體來解決。

參考文獻:編譯安裝PHP元件出現錯誤提示記憶體不足:virtual memory exhausted Cannot allocate memory