学习更多精彩原创文章,请关注我们的公众号cpp_coder 哦。
文章来源:C++技术网 原创文章版权所有,未经授权,禁止转载。
编译了数次gcc6.3.0和gcc5.4.0,每次都失败了,提示的错误是:
make[3]: *** [s-attrtab] Killed
后经过查询,说这个是因为内存不足导致的。解决的办法就是设置交换分区或交换文件。
交换分区就不尝试了,直接设置交换文件。一般按照交换区的大小是内存的2-4倍,服务器的内存是1G,所以设置2GB的交换文件大小。那么如果创建这么大的文件呢?网上都是提供的fallocate命令:
fallocate -l 2G /swapfile
结果提示:
fallocate: /swapfile: fallocate failed: Operation not supported
还说什么呢?运气背,没办法。好吧,那就用其他方式吧。后来找到了:truncate -s 2G swapfile
然后,在设置交换文件后,启动交换文件的时候,提示:
swapon: /swapfile: skipping - it appears to have holes.
对,你没看错,你的文件有很多洞洞,好搞笑。
再换一种:
或
dd if=/dev/zero of=/swapfile bs=4096 count=512k
不要把if=/dev/zero去掉,似乎