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

参考

相关推荐
欧云服务器3 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI3 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️3 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年3 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2003 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟4 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬4 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民4 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
小虾爬滑丫爬4 天前
Ubuntu 上设置防火墙
ubuntu·防火墙
林开落L4 天前
解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)
运维·服务器·ubuntu·swap交换区