在资源极其有限的 VPS 上使用 Homebrew 安装大型工具(如 CMake)通常会遇到内存不足、编译失败等问题。
在这篇文章中,我将分享如何在 仅 512MB 内存的 VPS 上通过 启用虚拟内存(Swap) 成功安装 cmake 的完整流程。
🧾 背景
- VPS 配置:512MB RAM,无额外 swap
- 操作系统:Debian / Ubuntu 系统(适用于大多数 Linux 发行版)
- 安装工具:Homebrew(Linuxbrew)
- 安装目标:CMake(可能会从源码编译,内存需求大)
🪄 解决思路:开启 Swap(虚拟内存)
由于 cmake 的安装过程可能需要超过 1GB 的内存,我们可以通过增加 Swap 空间(即硬盘模拟内存)来避免编译过程 OOM(内存溢出)的问题。
🛠️ 操作步骤
1. 创建并启用 Swap 文件
# 创建一个 1GB 的 Swap 文件
sudo fallocate -l 1G /swapfile
# 如果 fallocate 不可用,可使用 dd 命令代替:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
# 设置文件权限为 600
sudo chmod 600 /swapfile
# 格式化为 swap 格式
sudo mkswap /swapfile
# 启用 swap
sudo swapon /swapfile
# 验证 swap 是否启用成功
swapon --show
2. 设置开机自动挂载 Swap
# 添加到 /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
🍺 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
配置环境变量(添加到 .bashrc 或 .zshrc):
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
📦 使用 Brew 安装 CMake
brew install cmake
整个编译过程会非常耗时(尤其是第一次),但在启用了 swap 之后,即使只有 512MB RAM,也可以稳定编译完成!
✅ 验证安装
cmake --version
输出应类似于:
cmake version 3.xx.x
💡 小贴士
- 如果你遇到 “killed” 错误,多半是内存不足导致的,需要确保 swap 正常启用。
- 编译时可使用
htop监控内存和 swap 使用情况。 - 安装完成后可以关闭 swap(可选):
sudo swapoff /swapfile
在 Ubuntu 中,如果系统自带了 swap 文件,你可以通过以下方法查看其大小:
1. 查看当前 swap 文件的大小
执行以下命令:
sudo swapon --show
该命令会显示所有活跃的 swap 分区或文件,并包含它们的大小信息。
示例输出:
NAME TYPE SIZE USED PRIO
/swapfile file 1G 0B -2
在这个例子中,/swapfile 的大小是 1GB。
2. 查看 /swapfile 的实际大小
如果你想查看 swap 文件本身的大小,可以使用:
ls -lh /swapfile
这会显示 swapfile 的大小,例如:
-rw------- 1 root root 1.0G Jun 10 12:34 /swapfile
这里显示的是 1GB 大小的 swap 文件。
如果你发现默认的 swap 文件太小,可以通过以下步骤调整其大小:
-
关闭 swap
sudo swapoff /swapfile -
修改 swap 文件大小
sudo fallocate -l 2G /swapfile # 例如,修改为 2GB -
重新格式化并启用 swap
sudo mkswap /swapfile sudo swapon /swapfile -
验证
sudo swapon --show
🏁 总结
在低配 VPS 上编译大型工具并非不可能,只需合理使用虚拟内存(swap),就能绕过 RAM 限制。通过本文提供的步骤,我成功在一台只有 512MB 内存的 VPS 上完成了 cmake 的安装。希望对你也有所帮助!