扩大liunx的虚拟内存
在Linux系统中,交换空间(swap space)是当物理内存(RAM)不足时,系统会使用硬盘空间作为虚拟内存。修改交换空间的大小通常涉及以下步骤:
禁用当前的交换文件: 首先,你需要禁用当前的交换空间,使用swapoff
命令:
-
sudo swapoff /swapfile
- 删除交换文件: 然后,删除交换文件:
-
sudo rm /swapfile
- 更新
/etc/fstab
文件: 接下来,需要从/etc/fstab
文件中删除或注释掉与该交换文件相关的条目。打开/etc/fstab
文件进行编辑:
sudo nano /etc/fstab
找到与/swapfile
相关的行,并删除或在行首添加#
来注释掉它。
创建新的交换文件: 使用fallocate
命令可以快速创建一个指定大小的文件。例如,创建一个50GB的交换文件:
-
sudo fallocate -l 50G /swapfile
- 设置交换文件的权限: 为了安全起见,应该将交换文件的权限设置为仅允许root用户读写:
-
sudo chmod 600 /swapfile
- 格式化交换文件: 使用
mkswap
命令来格式化新创建的交换文件: -
sudo mkswap /swapfile
- 启用交换文件: 使用
swapon
命令来启用交换文件: -
sudo swapon /swapfile
- 更新
/etc/fstab
文件: 为了让这个交换文件在系统启动时自动挂载,需要更新/etc/fstab
文件。可以使用blkid
获取交换文件的UUID,然后将其添加到/etc/fstab
: -
SWAP_UUID=$(sudo blkid -s UUID -o value /swapfile)
echo "UUID=$SWAP_UUID none swap sw 0 0" | sudo tee -a /etc/fstab - 调整交换空间的权重: 有时候,你可能希望调整交换空间的优先级,这可以通过编辑
/etc/fstab
中的条目来实现,修改其中的sw
参数为pri
,其中pri
是你希望设置的优先级(数值越小,优先级越高):
-
sudo sed -i "/UUID=$SWAP_UUID/ s/sw/priog=0/" /etc/fstab
- 验证交换空间: 使用
free -m
或swapon --show
命令来验证交换空间是否已经正确设置。
请注意,调整交换空间的大小可能会对系统性能产生影响,特别是在创建过大的交换文件时。确保你了解你的系统需求,并在进行这些更改之前备份重要数据。如果你不确定,最好咨询系统管理员或有经验的用户。