虚拟交换缓存不足导致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
#保存并退出即可

参考

相关推荐
大牙Adela6 小时前
在Mac上通过Multipass虚拟机中的Ubuntu系统使用Graphviz工具
c语言·qt·ubuntu·macos·multipass·graphviz
码上上班6 小时前
ubuntu 安装ragflow
linux·运维·ubuntu
HIT_Weston6 小时前
38、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(一)
linux·前端·ubuntu
普中科技8 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 17 章 STM32 中断系统
stm32·单片机·嵌入式硬件·arm·中断系统·普中科技
路人甲ing..8 小时前
用 Android Studio 自带的模拟 Android Emulator 调试
android·java·ide·ubuntu·kotlin·android studio
q***71858 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
JobDocLS9 小时前
Ubuntu 22.04上安装搜狗输入法
linux·运维·ubuntu
序属秋秋秋10 小时前
《Linux系统编程之进程基础》【进程切换 + 进程调度】
linux·运维·服务器·c语言·c++·ubuntu·系统编程
艾莉丝努力练剑12 小时前
【Linux基础开发工具 (四)】Linux编程基础:深入理解gcc / g++编译与链接原理
linux·运维·服务器·c++·人工智能·ubuntu·centos
deng-c-f1 天前
配置(9):在ubuntu上生成core文件
数据库·windows·ubuntu