解决 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
相关推荐
zhilin_tang1 天前
Linux IPC 为什么要这么架构
linux·c语言·架构
WIN赢1 天前
【UI自动化相关】
运维·自动化
notion20251 天前
Optuna 黑科技自动化超参数优化框架详解
运维·科技·其他·自动化
Wang's Blog1 天前
Linux小课堂: 网络配置详解之DHCP动态分配与静态IP地址设置
linux·网络·tcp/ip
CS Beginner1 天前
【Linux】Tomcat基本配置
linux·运维·tomcat
..Move...1 天前
快速搭建Docker私有仓库指南
运维·docker·容器
小小的木头人1 天前
Windows Docker desktop 部署
运维·kafka
黑翼杰克斯1 天前
如何裁剪u-boot,保留其必要功能,使体积尽可能小
linux·1024程序员节
wanhengidc1 天前
云手机和虚拟机的区别都有哪些?
运维·服务器·安全·智能手机·玩游戏
码农周1 天前
从零搭建vsftpd服务器:避坑指南+实战解决方案
运维·服务器