Files
README/b3_ubuntu创建交换内存.md
T

2.0 KiB

ubuntu创建交换内存

检查当前配置

sudo swapon --show
free -h

创建交换文件

sudo fallocate -l 4G /swapfile
#如果 fallocate 命令有问题则使用dd
#sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress

设置权限

交换文件必须只有 root 用户才有读写权限,否则会有安全风险。

sudo chmod 600 /swapfile

格式化为交换空间

sudo mkswap /swapfile

启用交换文件

sudo swapon /swapfile

运行sudo swapon --show或free -h查看交换空间是否生效

永久生效

sudo cp /etc/fstab /etc/fstab.bak # 可选,建议先备份
sudo vi /etc/fstab

在最后一行添加

/swapfile none swap sw 0 0

调整 Swappiness 值(可选)

swappiness 参数决定了系统有多频繁地使用交换空间。值范围从 0 到 100。

  • 0:尽量不使用交换空间。
  • 100:积极使用交换空间。

查看当前值:

cat /proc/sys/vm/swappiness

临时修改(重启后失效):

sudo sysctl vm.swappiness=30

永久修改:编辑 /etc/sysctl.conf 文件:

sudo vi /etc/sysctl.conf

末尾添加

vm.swappiness=30

保存文件,然后运行以下命令应用更改:

sudo sysctl -p

调整缓存压力(可选)

vfs_cache_pressure 控制内核回收用于缓存目录和 inode 对象的内存的倾向。默认值也是 100。将其设置为较低的值(如 50),会让系统更多地缓存这些信息,可能提升性能。 同样,在/etc/sysctl.conf文件中添加:

vm.vfs_cache_pressure=50

保存后,同样运行sudo sysctl -p来应用。

修改交换内存

查看原本的交换空间

sudo swapon --show

停止并删除原本的交换内存

sudo swapoff /swapfile
sudo rm /swapfile

创建新的文件

sudo fallocate -l 6G /swapfile

设置权限并格式化

sudo chmod 600 /swapfile
sudo mkswap /swapfile

启用并确认

sudo swapon /swapfile
free -h