virtual memory exhausted: Cannot allocate memory Linux虚拟内存不足,扩展虚拟内存的解决办法

当Linux系统提示'virtual memory exhausted: Cannot allocate memory'时,可以通过创建交换分区来扩展虚拟内存。本文详细介绍了如何创建交换分区空间、设置交换分区文件、立即启用、设置开机启动以及检查分区变化,成功将swap分区从976M扩展到4G。

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

Linux虚拟内存不足,扩展虚拟内存的解决办法

virtual memory exhausted: Cannot allocate memory

在编译软件的时候,出现了这个错误:

virtual memory exhausted: Cannot allocate memory

使用free -m命令检查swap分区情况

lk@Mibook:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3828        1212         113        1022        2501        1315
Swap:           976         856         120

发现交换分区只有976M ,显然太小了,所以考虑增加虚拟内存。

1 创建用于交换分区的空间

标准格式:

$ dd if=/dev/zero of=/mnt/swap bs=1024 count=4096000 

运行后:

lk@Mibook:~$ sudo dd if=/dev/zero of=/mnt/swap bs=1024 count=409
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值