Swap是Linux上的分配空间,该处被保留为虚拟内存。 当Linux服务器运行内存时,可以将非活动进程移动到虚拟内存中以便在工作存储器中为活动进程进行空间。
此功能默认情况下未打开,但可以通过分配交换文件来打开。交换文件上的性能与交换分区的性能非常类似。但是,在不重新分区的情况下更容易控制交换大小。通过调整系统的SWAPPAPPINES值,还可以激励服务器依赖交换空间。
由于我们的和默认提供root用户,因此所有命令均假定以root用户身份运行:
如何在Linux中创建交换文件?
以下是将通过创建交换文件以及如何修改Swappiness Value的步骤。 例如,将1GB交换交换到服务器,请按照本指南执行以下操作:
第一步:要使用Fallocate或DD创建要用于交换的文件:
用fallocate创建交换文件
fallocate -l 1G /myswap
-l选项允许您设置长度,在此示例中为1 GB
或者,您可以使用dd创建一个空白的1GB文件:
dd if=/dev/zero of=/myswap count=1024 bs=1MiB
第二步: 确保交换文件权限:
chmod 600 /myswap
格式化文件以进行交换。
mkswap /myswap
第三步: 将文件作为交换文件添加到系统中。
swapon /myswap
第四步: 将此行添加到/ etc / fstab的末尾,使更改永久性。
/myswap none swap sw 0 0
第五步: 要更改swappiness值,请编辑/etc/sysctl.conf并添加以下行。
vm.swappiness=10
从10开始,并根据需要增加。 交换的典型默认值是60。数字越大(最多100),交换使用的频率就越高。
影响性能的快速影响取决于如何使用内存,因此实验找到最佳值。 在0处,只有在系统完全从内存中运行时将仅使用交换文件。 更高的值让系统交换空闲进程,以允许系统释放磁盘缓存的内存,可能会提高整体系统性能。
第六步: 检查交换文件是否已创建。
swapon -s
重新启动服务器,以确保更改生效。
在大多数情况下,您只需要以root用户身份访问交换分区。
dd if=/dev/zero of=/myswap count=1024 bs=1MiB 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 2.15831 s, 497 MB/s