虚拟交换缓存不足导致qt编译失败

qt pro make 失败:

复制代码
virtual memory exhausted: Cannot allocate memory
Makefile:9155: recipe for target 'qrc_myimages.o' failed
make: *** [qrc_myimages.o] Error 1
make: *** Waiting for unfinished jobs....

virtual memory exhausted: Cannot allocate memory

查看内存:

复制代码
free -h
             total        used        free      shared  buff/cache   available
Mem:           3.8G        450M        2.4G        101M        974M        3.2G
Swap:            0B          0B          0B

设置交换缓存:

bash 复制代码
mkdir swap
sudo dd if=/dev/zero of=swapfile bs=1M count=2048 #设置2GB缓存,bs 为块的大小,count 创建多少个块
sudo chmod 0600 swapfile #设置权限
sudo mkswap swapfile #生成的文件转换成 Swap 文件
sudo swapon swapfile  ## 激活文件
free -h # 执行命令可以看到新增了2G

              total        used        free      shared  buff/cache   available
Mem:           3.8G        848M        2.4G         91M        544M        2.8G
Swap:          2.0G        309M        1.7G

释放缓存

bash 复制代码
sudo swapoff swapfile # 执行命令后,删除创建的swap目录即可

开机自动使用该虚拟内存的启动脚本

bash 复制代码
#此时开的虚拟内存会在开机后消失,如果永久保持下去,在/etc/fstab文件尾添加一下信息:
swapfilepath swap swap defaults 0 0
#例如:我的我是在/root/进行的配置,因此添加了下面内容
/data/swap/swapfile swap swap defaults 0 0
#保存并退出即可

参考

相关推荐
大聪明-PLUS7 小时前
Linux 系统中的电池衰减
linux·嵌入式·arm·smarc
永恒-龙啸8 小时前
Ubuntu编译自定义immortalwrt固件与软件编译
运维·ubuntu·开源软件·immortalwrt
俊俊谢8 小时前
华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)
嵌入式硬件·嵌入式·arm·嵌入式软件·hc32f460
starvapour8 小时前
Ubuntu触发硬件级系统重启
linux·运维·ubuntu
咋吃都不胖lyh8 小时前
CUDA、Ubuntu、显卡驱动:零基础讲清(附三者关联)
linux·运维·ubuntu
石像鬼₧魂石9 小时前
Fail2Ban核心架构学习
linux·学习·ubuntu
老兵发新帖10 小时前
ubuntu网络管理功能分析
数据库·ubuntu·php
@Wufan10 小时前
ubuntu服务器子用户(无sudo权限)安装/切换多个版本cuda
linux·服务器·ubuntu·cuda
尐葮阿譽13 小时前
Ubuntu 25.10 安装 Waydroid 安卓模拟器
android·ubuntu·安卓模拟器·waydroid
石像鬼₧魂石14 小时前
Fail2Ban 一键部署 + 管理脚本(可直接执行)
linux·windows·学习·ubuntu