Ubuntu下使用QtCreator編譯出現collect2: ld terminated with signal 9 [Killed] 解決方法

定位問題是,由於交換分區不足,導致編譯出錯。

解決思路就是增加交換分區空間,然後重新啓動交換分區。方法如下(默認使用的是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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章