如何创建Linux交换文件
如何通过命令行选项为云服务器创建Linux交换文件?
如何在Ubuntu 20.04 LTS或CentOS Linux 7/8服务器上添加交换空间?
交换空间不过是Linux内核内存子系统对磁盘,分区或文件的控制。
当服务器开始用尽物理RAM(随机存取存储器)时,Linux内核使用交换空间。
换句话说,交换空间将保存不活动的页面。
物理RAM和交换的组合称为虚拟内存。
对于休眠状态,交换空间对于Linux便携式计算机和台式机用户也至关重要。
Linux桌面用户在休眠之前使用交换空间来保存RAM内容。
创建Linux交换文件的步骤
- 显示当前在Linux上的交换空间和RAM使用情况:
$ free -h $ swapon --summary
- 接下来,使用dd命令创建一个用于交换空间的新文件:
# Example: 2 Gib Linux swap file # $ sudo dd if=/dev/zero of=/swap-file count=2 bs=1GiB
- 确保出于安全原因使用chmod命令和chown命令设置正确的Linux文件系统权限:
$ sudo chmod -v 0600 /swap-file $ sudo chown -v root:root /swap-file # List permissions # $ ls -l /swap-file
- 运行以下mkswap命令以使用文件设置Linux交换区域:
$ sudo mkswap /swap-file
- 通过执行swapon命令激活交换空间:
$ sudo swapon /swap-file
使用CLI在Linux上添加交换文件
在Linux上显示RAM和交换使用情况
您可以使用以下任一命令:
$ swapon --summary $ free -h $ top $ htop $ vmstat
在Linux上显示交换使用情况摘要
{零散}
如何在Linux上持续激活交换空间文件
确保Linux系统重启后激活了交换文件。
要使更改永久生效,请编辑/etc/fstab文件:
$ sudo vi /etc/fstab
追加以下配置指令:
/swap-file swap swap defaults 0 0
保存并关闭文件。
如何设置交换空间和文件优先级
缺省情况下,Linux内核使用第一个激活的交换空间,直到其满为止。
然后内核开始使用第二个交换空间,依此类推。
不过,Linux允许我们定义优先级。
默认优先级为-2,Linux可以首先使用最高优先级。
编辑/etc/fstab并添加pri
,如下所示:
/dev/sdb none swap sw 0 0 /swap-file swap swap pri=5 0 0 /swap-file-2 swap swap pri=10 0 0
现在,我的Linux内核首先使用pri = 10的/swap-file-2。
当该空间已满时,Linux使用pri = 5的/swap文件。
最后,Linux使用优先级为-2的/dev/sdb。
关于Linux swappiness的说明
swappiness值在/proc/sys/vm/swappiness文件中定义。
它控制Linux内核如何积极地交换内存页面。
较高的值会增加攻击性,而较低的值会降低攻击性。
缺省值为60。
使用cat命令查看值:
$ cat /proc/sys/vm/swappiness `60`
我建议保留默认值,这对于大多数用户来说非常有用。
但是,您可以按如下所示将其更改为40:
$ sudo echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.d/99-swappiness.conf
有关更多信息,请参见在Linux或Unix上使用sudo命令时如何将文本追加到文件中以及如何使用sysctl.conf永久更改/proc /文件系统。
删除交换文件
要删除您的交换文件?
- 禁用交换文件:
$ sudo swapoff -v /swap-file
- 使用rm命令删除物理交换文件:
$ sudo rm -v -i /swap-file
- 编辑/etc/fstab并删除交换文件的条目。例如:
/swap-file swap swap defaults 0 0