SWAP 分区可以在系统运行内存不足时将一部分未使用的内存文件转存在此分区以减轻动态内存的压力,SWAP 分区以专用的 SWAP 格式存在于硬盘当中。下面将介绍在 Ubuntu 中如何调整 SWAP 分区的空间及 SWAP 分区的活跃度。
$ sudo swapon --show #未启用SWAP分区的话,执行此命令将不会有任何输出
在添加 SWAP 文件时,建议创建的文件大小为实际物理内存的 2-3 倍。
$ sudo fallocate -l 2G /swapfile #创建大小依据实际物理内存大小自行调整
#或使用dd命令创建
$ sudo dd if=/dev/zero of=/swapfile bs=512M count=4
创建完成后,给与 SWAP 文件 600 权限
$ sudo chmod 600 /swapfile
标注 SWAP 区域
$ sudo mkswap /swapfile
激活 SWAP 分区
$ sudo swapon /swapfile
查看 SWAP 分区是否工作
$ sudo swapon --show
$ sudo free -h
将创建的 SWAP 分区设置为永久分区,将 SWAP 路径写入到/etc/fstab
文件中
/swapfile swap swap defaults 0 0
$ sudo swapoff -v /swapfile
在/etc/fstab
文件中删除 SWAP 路径。
删除 SWAP 分区文件
$ sudo rm /swapfile
Swappiness 用于定义 Linux 系统使用 SWAP 空间的频率。Swappiness 值可以从 0 至 100,较低的值会让内核尽可能少的使用 SWAP 空间,而较高的值将让 Linux Kernel 能够更加积极地使用 SWAP 分区。默认的 Swappiness 值为 60,这里可以根据实际需要自行调整。
$ cat /proc/sys/vm/swappiness
$ sudo sysctl vm.swappiness=60 #这里的值可以设置在0-100,根据环境需求自行调整
编辑/etc/sysctl.conf
文件,在最后添加以下内容
vm.swappiness=60