定位問題是,由於交換分區不足,導致編譯出錯。
解決思路就是增加交換分區空間,然後重新啓動交換分區。方法如下(默認使用的是root用戶):
1.創建用於交換分區的文件:
dd if=/dev/zero of=/swapfile bs=block_size count=number_of_block
注:block_size、number_of_block 大小可以自定義,比如 bs=1M count=2048 代表設置 2G 大小 SWAP 分區。
如果使用dd增加空間報錯"dd: failed to open '/swapfile': Text file busy"
這時候使用 swapoff -a 關閉,再使用上面的dd命令,就可以創建成功。
2.設置交換分區文件:
mkswap /swapfile
3.立即啓用交換分區文件
swapon /swapfile
-----------------------------------------------------------------------------------------
下面是一些擴展:
1.可以通過查看 /proc/sys/vm/swappiness 內容的值來確定系統對 SWAP 分區的使用原則。當 swappiness 內容的值爲 0 時,表示最大限度地使用物理內存,物理內存使用完畢後,纔會使用 SWAP 分區。當 swappiness 內容的值爲 100 時,表示積極地使用 SWAP 分區,並且把內存中的數據及時地置換到 SWAP 分區。
2.可以通過修改/etc/fstab 的內容來配置交換分區文件。
3.查看當前內存和交換分區分配大小 free -m