编译时:virtual memory exhausted: Cannot allocate memory

Posted jorzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译时:virtual memory exhausted: Cannot allocate memory相关的知识,希望对你有一定的参考价值。

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

 

二、解决方法
在执行free -m的是时候提示Cannot allocate memory:

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

[[email protected] byrd]# free -m
             total       used       free     shared    buffers     cached
Mem:           512        108        403          0          0         28
-/+ buffers/cache:         79        432
Swap:            0          0          0
[[email protected] ~]# mkdir /opt/images/
[[email protected] ~]# rm -rf /opt/images/swap
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] mnt]# swapon /opt/images/swap
[[email protected] mnt]# free -m
             total       used       free     shared    buffers     cached
Mem:           488        481          7          0          6        417
-/+ buffers/cache:         57        431
Swap:          999          0        99

 

内存太小,增加内存可以解决。
使用完毕后可以关掉swap:

[[email protected] mnt]# swapoff swap
[[email protected] mnt]# rm -f /opt/images/swap

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


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





以上是关于编译时:virtual memory exhausted: Cannot allocate memory的主要内容,如果未能解决你的问题,请参考以下文章

virtual memory exhausted: Cannot allocate memory

虚拟机无法分配内存 virtual memory exhausted: Cannot allocate memory

什么是虚拟内存(virtual memory)

Virtual Memory

virtual memory exhausted: Cannot allocate memory

Virtual memory and Pagefile