硬件:Micro-Star International Co., Ltd. Vector 16 HX AI A2XWIG

显卡:nvidia5080

处理器:Intel® Core™ Ultra 9 275HX × 24

内存:16GiB

磁盘:1T

系统:Ubuntu22.04

问题描述:

现在需要通过vllm本地部署RoboBrain2.0-7B大模型,但由于内存只有16GB,前几次的编译均以内存爆满电脑死机为结果。在未设置虚拟内存前,无论设置export MAX_JOBS=8或4的都会死机。所以通过创建16GB虚拟内存来保证编译不会死机,虽然编译会慢一点。下面是详细步骤


1. 检查并停用当前的 Swap

首先,确认一下当前的 swap 状态。

sudo swapon --show

这个命令会列出所有正在使用的交换分区或文件。可能会看到类似下面的输出:

NAME      TYPE SIZE USED PRIO
/swapfile file  2G   0B   -2
接下来,停用它:
sudo swapoff /swapfile
2. 删除旧的 Swap 文件

停用之后,就可以安全地删除了。

sudo rm /swapfile
3. 创建新的 16GB Swap 文件

现在可以执行命令来创建一个 16GB 的新文件了。使用 dd 命令可以,但有一个更快的命令 fallocate,推荐使用,因为它会立即分配空间,而不是慢慢地写零。

推荐方式 (更快):

sudo fallocate -l 16G /swapfile

或者使用你其余教程所说的 dd 命令也可以:

sudo dd if=/dev/zero of=/swapfile bs=1M count=16384 status=progress

可以在 dd 命令后面加了 status=progress,这样可以看到创建进度。

4. 设置正确的权限

这一步很重要!交换文件只应该被 root 用户读写。

sudo chmod 600 /swapfile
5. 将文件格式化为 Swap 空间
sudo mkswap /swapfile
6. 启用新的 Swap 文件

激活刚创建的交换空间。

sudo swapon /swapfile
7. 验证是否成功

再次检查 swap 状态,确认新的 16GB 空间已经启用。

sudo swapon --show

或者使用 free 命令查看,你会看到 Swap 总量增加了 16GB。

free -h
8. 使其永久生效

为了确保每次重启后这个 swap 文件都能自动挂载,需要将它添加到 /etc/fstab 文件中。

首先,备份一下fstab 文件,以防万一:

sudo cp /etc/fstab /etc/fstab.bak

然后,将 swap 文件的配置信息追加到 /etc/fstab 的末尾:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

至此,系统就拥有了 16GB 的交换空间,再次尝试编译通过。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐