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

 

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