解决 Ubuntu 20.04 虚拟机中 catkin_make 编译卡死问题

完整解决步骤

1. 禁用当前交换文件

bash 复制代码
sudo swapoff /swapfile

2. 删除旧的交换文件

bash 复制代码
sudo rm /swapfile

3. 使用更可靠的创建方法

bash 复制代码
# 使用 dd 命令创建交换文件(更兼容但较慢)
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

# 或者使用 truncate 命令(快速创建)
sudo truncate -s 4G /swapfile

4. 设置正确权限

bash 复制代码
sudo chmod 600 /swapfile

5. 格式化为交换空间

bash 复制代码
sudo mkswap /swapfile

6. 启用交换文件

bash 复制代码
sudo swapon /swapfile

7. 永久生效配置

bash 复制代码
# 添加到 /etc/fstab
# 可以sudo cat /etc/fstab 一下看看是否有这一行,有 /swapfile none swap sw 0 0 字样则不需要执行
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 验证配置
sudo swapon --show
free -h
  1. 一键 配置生效
    一键执行:一个脚本执行即可
bash 复制代码
#!/bin/bash
sudo swapoff /swapfile
sudo rm /swapfile
# 使用 dd 命令创建交换文件(更兼容但较慢)
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

# 或者使用 truncate 命令(快速创建)
sudo truncate -s 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 添加到 /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 验证配置
sudo swapon --show
free -h
相关推荐
神秘人X7072 分钟前
Linux网络配置全攻略:IP、路由与双机通信
linux·网络·tcp/ip
翟天保Steven38 分钟前
Ubuntu-安装Epics教程
linux·ubuntu·epics
Nightwish541 分钟前
Linux随记(二十一)
linux·运维·服务器
IT成长日记3 小时前
【自动化运维神器Ansible】Ansible常用模块之File模块详解
运维·自动化·ansible·file·常用模块
獭.獭.3 小时前
Linux -- 文件【上】
linux·运维·服务器·进程·pcb
不会敲代码的XW3 小时前
高可用集群KEEPALIVED的详细部署
运维·云原生
老实巴交的麻匪3 小时前
提问的智慧,用最少的时间获得最有效的帮助
运维·团队管理
nbsaas-boot4 小时前
收银系统优惠功能架构:可扩展设计指南(含可扩展性思路与落地细节)
java·大数据·运维
爱喝酸奶的桃酥4 小时前
解密负载均衡:如何轻松提升业务性能
运维·负载均衡
搬码临时工4 小时前
使用FRP搭建内网穿透工具,自己公网服务器独享内外网端口转发
运维·服务器