您的位置:首页 > 其它

编译时:virtual memory exhausted: Cannot allocate memory

2016-07-13 11:36 465 查看

一、问题

当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩展内存的方法。

二、解决方法

在执行free -m的是时候提示Cannot allocate memory:

(swap文件可以放在自己喜欢的位置如/var/swap)

[html] view plain copy

[root@Byrd byrd]# free -m

total used free shared buffers cached

Mem: 512 108 403 0 0 28

-/+ buffers/cache: 79 432

Swap: 0 0 0

[root@Byrd ~]# mkdir /opt/images/

[root@Byrd ~]# rm -rf /opt/images/swap

[root@Byrd ~]# dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000

2048000+0 records in

2048000+0 records out

2097152000 bytes (2.1 GB) copied, 82.7509 s, 25.3 MB/s

[root@Byrd ~]# mkswap /opt/images/swap

mkswap: /opt/images/swap: warning: don't erase bootbits sectors

on whole disk. Use -f to force.

Setting up swapspace version 1, size = 2047996 KiB

no label, UUID=59daeabb-d0c5-46b6-bf52-465e6b05eb0b

[root@hz mnt]# swapon /opt/images/swap

[root@hz mnt]# free -m

total used free shared buffers cached

Mem: 488 481 7 0 6 417

-/+ buffers/cache: 57 431

Swap: 999 0 999

内存太小,增加内存可以解决。

使用完毕后可以关掉swap:

[html] view plain copy







[root@hz mnt]# swapoff swap

[root@hz mnt]# rm -f /opt/images/swap

swap文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: