如何在linux创建交换空间swap
swap简称交换空间,它占用的是磁盘的空间,Linux内核会将非活动页面会从内存RAM移动到交换空间。
交换空间可以采用专用交换分区或交换文件的形式。在大多数情况下,当在虚拟机上运行Linux时,不存在交换分区,因此我们唯一的选择是创建交换文件。
在本教程中,我们将说明如何创建交换空间在不存在交换分区的情况下。包括使用dd
/fallocate
命令创建交换空间文件,设置交换空间文件的权限,格式化交换空间文件,使用swapon
启用交换空间,调整Swappiness值的大小,使用swapoff
关闭删除交换空间。
创建交换空间文件
首先我们将创建1GB大小的交换空间,使用文件的方式。如果你想创建更大或者更小的可以更改以下命令数字的大小。以下将使用fallocate命令创建交换一个未格式化的文件:
sudo fallocate -l 1G /swapfile
如果你Linux上未安装faillocate
命令你会收到一个错误消息fallocate failed: Operation not supported
,则可以使用以下dd
命令创建交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
设置交换空间文件的权限
交换空间文件的权限只有root用户才能写入和读取交换文件的数据。因此我么要给交换文件的权限设置为600
。要设置正确的权限,请执行以下命令:
sudo chmod 600 /swapfile
格式化交换空间文件
交换空间文件所使用的文件系统与普通文件不一样,因此它有自己的格式和专用个格式化工具。你将使用mkswap
命令来格式化交换空间文件:
sudo mkswap /swapfile
启用交换空间
当你格式化完成后,为了让系统识别交换空间文件,因此还需要手动启用交换空间文件。你将执行以下swapon
命令启用交换空间文件:
sudo swapon /swapfile
让交换文件永久启用,并在开机启动时自动挂载。因此我们需要修改Linux的自动挂载配置/etc/fstab
文件。以下命令使用echo,tee命令以及管道追加行/swapfile swap swap defaults 0 0
到将/etc/fstab
文件文件:
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
验证交换空间的状态
验证交换文件是否启用可以使用swapon
命令或者free
命令,如下所示
sudo swapon --show
swapon
命令输出如下所示:
NAME TYPE SIZE USED PRIO/swapfile file 1024M 507.4M -1
sudo free -h
free
命令输出如下所示:
total used free shared buff/cache availableMem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
调整Swappiness值的大小
Swappiness是一个Linux内核属性,用于定义系统使用交换空间的频率。 Swappiness可以是0到100之间的值。swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间,swappiness=100的时候表示积极的使用swap空间。
如果你不能确定该值大小,请参考我们的教程:Linux性能:为什么你应该添加交换空间swap和空闲内存与可用内存的区别。
Linux的初始默认设置为60, 你可以使用下面的cat命令查看当前值的大小:
cat /proc/sys/vm/swappiness
60
如果你需要对swappiness的值作出更改,请执行以下sysctl
命令:
sudo sysctl vm.swappiness=10
sysctl命令的更改仅在当前会话中可用,即重启会恢复为默认值。为让swappiness的值持久化,则需要将值写入到/etc/sysctl.conf
文件中。
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/sysctl.conf
删除交换空间
如果你因某些原因需要关闭并且删除交换文件,则需要执行以下步骤。首先使用swapoff
命令关闭交换空间。执行以下命令关闭交换空间:
sudo swapoff -v /swapfile
接着,使用你喜欢的编辑器打开文件/etc/fstab
,并移除行/swapfile swap swap defaults 0 0
。在本教程中,我们将使用vim命令打开文件:
sudo vim /etc/fstab
找到行/swapfile swap swap defaults 0 0
并删除,最后保存并退出。最后的一步是删除交换空间文件。你将使用rm命令删除文件:
sudo rm /swapfile
结论
至此,你已经知道如何创建交换空间,删除与关闭交换空间。如你有任何疑问,请在下面评论反馈。
以上是 如何在linux创建交换空间swap 的全部内容, 来源链接: utcz.com/z/506912.html