解决 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
相关推荐
☆凡尘清心☆20 小时前
CentOS Stream 9 编译安装 Redis 7.2.7 完整版详细步骤
linux·redis·centos
wuminyu20 小时前
JUC组件逐层剥离与深度剖析
java·linux·c语言·jvm·c++·算法
ocean'20 小时前
防火墙策略路由
linux·服务器·数据库
三言老师20 小时前
awk条件筛选日志内容实操
linux·运维·服务器·centos
^yi20 小时前
【Linux系统编程】库的制作与使用
linux·运维·服务器
LUCKY-LIVING21 小时前
ELF File in linux
android·java·linux
深耕时光,自成山海21 小时前
for,while等循环
运维
bksczm21 小时前
popen解析
linux·运维·服务器
深念Y21 小时前
技术探索记录 在 Android 手机上运行 One API
android·linux·服务器·智能手机·go·交叉编译·服务
byte轻骑兵21 小时前
如何定制BlueZ编译:开启/关闭BLE/音频模块的编译参数配置
linux·arm开发·蓝牙·bluez·电脑蓝牙