编译时:virtual memory exhausted: Cannot allocate memory(转)

1、问题

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

2、解决方法

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

(swap文件能够放在本身喜欢的位置如/var/swap)blog

 1 [root@Byrd byrd]# free -m  
 2              total       used       free     shared    buffers     cached  
 3 Mem:           512        108        403          0          0         28  
 4 -/+ buffers/cache:         79        432  
 5 Swap:            0          0          0  
 6 [root@Byrd ~]# mkdir /opt/images/  
 7 [root@Byrd ~]# rm -rf /opt/images/swap  
 8 [root@Byrd ~]# dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000  
 9 2048000+0 records in  
10 2048000+0 records out  
11 2097152000 bytes (2.1 GB) copied, 82.7509 s, 25.3 MB/s  
12 [root@Byrd ~]# mkswap /opt/images/swap  
13 mkswap: /opt/images/swap: warning: don't erase bootbits sectors  
14         on whole disk. Use -f to force.  
15 Setting up swapspace version 1, size = 2047996 KiB  
16 no label, UUID=59daeabb-d0c5-46b6-bf52-465e6b05eb0b  
17 [root@hz mnt]# swapon /opt/images/swap  
18 [root@hz mnt]# free -m  
19              total       used       free     shared    buffers     cached  
20 Mem:           488        481          7          0          6        417  
21 -/+ buffers/cache:         57        431  
22 Swap:          999          0        999  

内存过小,增长内存能够解决。内存

 

使用完毕后能够关掉swap:虚拟机

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

swap文件也能够不删除,留着之后使用,关键是你的虚拟机硬盘够用。it

相关文章
相关标签/搜索