virtual memory exhausted: Cannot allocate memory

本文介绍了一种在Linux服务器上解决内存不足问题的方法,通过创建并启用交换分区(swap),以克服编译过程中因内存限制导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://www.cnblogs.com/chenpingzhao/p/4820814.html


问题描述:

购买的Linux服务器,Linux服务器的内存为512MB。

在编译PHP的时候会提示:virtual memory exhausted: Cannot allocate memory,编译失败。

 

解决方法:

发生该问题的原因是服务器的内存不够,从而导致编译失败。

而购买的Linux服务器,未给你分配虚拟内存,所以可以通过自行增加虚拟内存的方法予以解决

1
2
3
4
5
[root@iZ25p0h5gthZ ~]#  free -m 
              total       used       free     shared    buffers     cached
Mem:           994        707        287          0         11         57
-/+ buffers/cache:        638        356
Swap:            0          0          0

 第二步

1
2
3
4
5
6
7
8
[root@iZ25p0h5gthZ ~]#   mkdir  /usr/img/            
[root@iZ25p0h5gthZ ~]# rm -rf /usr/img/swap
[root@iZ25p0h5gthZ ~]#  dd  if =/dev/zero of=/usr/img/swap bs=1024  count =2048000          
 
 
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 48.7514 s, 43.0 MB/s

 第三步

1
2
3
4
5
6
7
8
9
10
11
[root@iZ25p0h5gthZ ~]#  mkswap /usr/img/swap           
mkswap: /usr/img/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=9982f566-9e44-4495-be0b-51d309873112
[root@iZ25p0h5gthZ ~]# swapon /usr/img/swap
[root@iZ25p0h5gthZ ~]# free -m
              total       used       free     shared    buffers     cached
Mem:           994        924         70          0          1        269
-/+ buffers/cache:        653        340
Swap:         1999          0       1999

 使用完毕后可以关掉swap

1
2
[root@iZ25p0h5gthZ img]# swapoff swap 
[root@iZ25p0h5gthZ img]# rm -f /usr/img/swap

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值