Linux如何创建交换文件
时间:2019-11-20 08:53:46 来源:igfitidea点击:
在Ubuntu 20.04 LTS或CentOS Linux 7/8上,如何添加交换空间?
如何为Linux服务器创建交换文件?
创建Linux交换文件的步骤
显示当前在Linux上的交换空间和内存使用情况:
$ free -h $ swapon --summary
使用dd命令创建一个用于交换空间的新文件
$ sudo dd if=/dev/zero of=/swap-file count=2 bs=1GiB
使用chmod命令和chown命令设置权限
$ sudo chmod -v 0600 /swap-file $ sudo chown -v root:root /swap-file # List permissions # $ ls -l /swap-file
将文件设置为Linux交换空间
$ sudo mkswap /swap-file
激活交换空间
$ sudo swapon /swap-file
设置永久交换空间
编辑/etc/fstab文件:
$ sudo vi /etc/fstab
添加下面内容:
/swap-file swap swap defaults 0 0
在Linux上查看内容和交换使用情况
执行下面的命令之一:
$ swapon --summary $ free -h $ top $ htop $ vmstat
如何设置交换空间和交换文件的优先级
缺省情况下,Linux内核首先使用第一个激活的交换空间,直到其满为止。
然后内核开始使用第二个交换空间,依此类推。
不过,Linux允许我们定义优先级,Linux可以首先使用最高优先级。默认优先级为-2。
编辑/etc/fstab,设置权限,如下所示:
/dev/sdb none swap sw 0 0 /swap-file swap swap pri=5 0 0 /swap-file-2 swap swap pri=10 0 0
这样,将优先使用/swap-file-2。
交换阈值swappiness
swappiness值在/proc/sys/vm/swappiness文件中定义。
它控制Linux内核何时交换内存页面。
缺省值为60。
使用cat命令查看swappiness值:
$ cat /proc/sys/vm/swappiness
可以使用下面命令将其更改为30:
$ sudo echo "vm.swappiness=30" | sudo tee -a /etc/sysctl.d/99-swappiness.conf
Linux如何删除交换空间
删除您的交换文件的步骤:
禁用交换文件:
$ sudo swapoff -v /swap-file
使用rm命令删除物理交换文件:
$ sudo rm -v -i /swap-file
编辑/etc/fstab并删除交换文件的行。例如:
/swap-file swap swap defaults 0 0