CentOS更新軟件包提示cannot allocate memory錯誤與解決
最近一台VPS在使用yum命令更新系統軟件包的時候,出現Cannot allocate memory類似的錯誤,看來是內存不足了。這台VPS內存是512MB,安裝了CentOS7的系統。出現類似錯誤,應該是系統內存不足了。有一種解決辦法,就是增加磁盤交換分區,拿磁盤空間來模擬內存,這是一種犧牲速度和效率的辦法,畢竟磁盤讀寫速度比起內存差了N條街。不過,用這種辦法臨時解決一些問題還是挺有用的。
VPS之前並沒有加載SWAP分區,需要我們臨時生成一個文件,並掛載為SWAP分區:
1 2 3 | dd if =/dev/zero of=/etc/swapfile bs=1024 count=500000 mkswap /etc/swapfile swapon /etc/swapfile |
三步操作完成之後,再看一下當前SWAP分區是否被掛載正常:
1 2 3 4 | [root@host home] # free -m total used free shared buff/cache available Mem: 502 88 13 4 400 376 Swap: 488 0 488 |
我們幾乎增加了一個與內存容量想當的交換分區,然後再次運行yum update命令,成功更新所有系統軟件包。
後面如果想關掉交換分區,還可以這麼幹:
1 | swapoff /etc/swapfile |
或者直接
1 | swapoff -a |