Linux编译时:virtual memory exhausted: Cannot allocate memory
当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩展内存的方法。
在执行free -m的是时候提示Cannot allocate memory:
(swap文件可以放在自己喜欢的位置如/var/swap)
首先随便在一个未知创建一个文件夹
比如我是在/usr/src下
执行:mkdir /usr/src/swap
然后执行:dd if=/dev/zero of=/usr/src/swap/swap bs=1024 count=2048000
接下来执行:mkswap /usr/src/swap/swap
最后启动:swapon /usr/src/swap/swap
内存太小,增加内存可以解决。
使用完毕后可以关掉swap:
执行:swapoff /usr/src/swap/swap
rm -rf /usr/src/swap/swap
swap文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用。