用户可以在安装任何Linux操作系统及其必要的过程中创建交换空间。
如果忘记创建,或者以后再增加,可以在任何时间进行。
有时,在安装后升级RAM时,有必要添加更多的交换空间。
举例来说,如果您将系统中的RAM从1GB升级到2GB,则还必须升级交换(从2GB到4GB),因为它使用了两倍的物理RAM。
交换是磁盘上的空间,当物理内存(RAM随机访问内存)已满时,保留为虚拟内存。
如果在RAM已满时系统需要更多的内存资源,则会将内存中的非活动页面移到交换空间,这可以帮助系统多运行一些时间,但不应将其视为替换更多RAM。
建议创建一个专用的交换分区,但是如果您没有可用的分区,请使用交换文件,或者使用交换分区和交换文件的组合。
通常建议用户至少使用4 GB的交换空间,用户也可以根据自己的要求和环境创建交换空间。
我发现大多数VM和Cloud服务器都没有交换分区,因此在这种情况下,我们可以使用以下三种方法创建,扩展或增加交换空间。
如何在Linux上检查当前交换大小
首先使用free&swapon命令检查现有交换空间分区的大小。
$ free -h
total used free shared buff/cache available
Mem: 2.0G 1.3G 139M 45M 483M 426M
Swap: 2.0G 655M 1.4G
$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 2G 655.2M -1
上面的输出清楚地显示了2GB当前交换空间。
方法1:如何使用硬盘分区创建交换空间
硬盘分区是创建交换空间的推荐方法之一。
如果您有其他硬盘,请使用fdisk命令创建新分区。让我们假设我们已经创建了名为“ / dev / sda4”的分区。
使用mkswap命令将分区转换为交换区域。
$ sudo mkswap /dev/sda4
通过运行以下命令来启用交换文件。
$ sudo swapon /dev/sda4
将新创建的交换文件添加到fstab文件中,以便即使重启后交换空间分区仍然可用。
$ vi /etc/fstab
/dev/sda4 swap swap defaults 0 0
检查新创建的交换文件。
$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 2G 1.3G -1
/dev/sda4 partition 1G 0B -2
现在您可以看到新的1GB /dev/sda4交换分区。重新引导系统以使用新的交换分区。
另外,您可以使用LVM分区创建交换空间,该分区允许您随时扩展交换空间。
方法2:如何使用文件创建交换空间
为此,您需要在Linux系统上创建一定大小的文件。这可以通过多种方式完成,但是我更喜欢使用dd命令。
dd命令是一个实用程序,可帮助您立即创建具有预分配大小的文件。
以下dd命令将创建1GB的/swapfile。
$ sudo dd if=/dev/zero of=/swapfile1 bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 16.6154 s, 64.6 MB/s
细节 :
if=/dev/zero是输入文件,/dev/zero是类Unix操作系统中的特殊文件,提供的空字符(ASCII NUL,0x00)与从中读取的空字符一样多。
of=/swapfile1是输出文件
bs=1G:一次最多读写1GB字节
count=1:仅复制1个BLOCKS输入块。
检查其创建的文件大小是否正确。
$ ls -lh /swapfile
-rw-r--r-- 1 root root 1.0G Jun 7 09:58 /swapfile
更改文件权限,以600通过root用户才能访问。
$ sudo chmod 600 /swapfile
通过运行以下命令将文件转换为交换文件。
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=96def6d7-b2da-4954-aa72-aa32316ec993
通过运行以下命令来启用交换文件。
$ sudo swapon /swapfile
将新创建的交换文件添加到fstab文件中,以便即使重启后交换空间分区仍然可用。
$ vi /etc/fstab
/swapfile swap swap defaults 0 0
检查新创建的交换文件。
$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G 1.3G -1
/dev/sda4 partition 1G 0B -2
/swapfile file 1024M 0B -3
现在您可以看到新的1GB swapfile交换文件。重新引导系统以使用新的交换文件。