解决 Ubuntu 20.04 虚拟机中 catkin_make 编译卡死问题
完整解决步骤
1. 禁用当前交换文件
sudo swapoff /swapfile
2. 删除旧的交换文件
sudo rm /swapfile
3. 使用更可靠的创建方法
# 使用 dd 命令创建交换文件(更兼容但较慢)
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096# 或者使用 truncate 命令(快速创建)
sudo truncate -s 4G /swapfile
4. 设置正确权限
sudo chmod 600 /swapfile
5. 格式化为交换空间
sudo mkswap /swapfile
6. 启用交换文件
sudo swapon /swapfile
7. 永久生效配置
# 添加到 /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
8. 一键 配置生效
一键执行:一个脚本执行即可
#!/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