网站搜索

如何创建 Linux 交换文件


在本文中,我们将解释交换空间,并学习如何在 Linux 中使用交换文件创建交换空间:如果我们没有在硬盘上创建交换分区,这一点很重要。

交换空间/分区是在内存被充分利用时创建的供操作系统使用的磁盘空间。可作为系统的虚拟内存;它可以是磁盘上的分区或文件。

当内核内存不足时,它可以将空闲/不活动进程移至交换区,为工作内存中的活动进程创建空间。这是内存管理,涉及将内存部分与虚拟内存进行交换。

建议阅读: 监控 Linux 中交换空间使用情况的 8 个有用命令

话虽如此,下面是我们可以遵循的使用文件创建交换空间的步骤。

如何在 Linux 中创建和启用交换

1. 在本例中,我们将使用 dd 命令创建一个大小为 2GB 的交换文件,如下所示。请注意,bs=1024 表示一次最多读取和写入1024 字节,并且计数=(1024 x 2048)MB 文件大小。

dd if=/dev/zero of=/mnt/swapfile bs=1024 count=2097152

或者,按如下方式使用fallocate 命令

fallocate --length 2GiB /mnt/swapfile

然后对文件设置相应的权限;使其只能由 root 用户读取,如下所示。

chmod 600 /mnt/swapfile

2. 现在使用mkwap 命令设置交换空间文件。

mkswap /mnt/swapfile

3. 接下来,启用交换文件并将其作为交换文件添加到系统中。

swapon /mnt/swapfile

4. 然后,启用交换文件在启动时挂载。编辑 /etc/fstab 文件并在其中添加以下行。

/mnt/swapfile swap swap defaults 0 0

在上面的行中,每个字段的含义是:

  • /mnt/swapfile – 设备/文件名
  • swap – 定义设备挂载点
  • swap – 指定文件系统类型
  • 默认值 – 描述安装选项
  • 0 – 指定转储程序使用的选项
  • 0 – 指定 fsck 命令选项

6. 要设置内核使用交换文件的频率,请打开 /etc/sysctl.conf 文件并添加以下行。

请注意,交换空间的使用频率默认值为 60(最大值为 100)。数字越高,内核使用交换空间的频率就越频繁。当该值设置为0时,仅当操作系统已充分利用内存时才会使用交换文件。

vm.swappiness=10

6. 现在验证交换文件是使用swapon 命令创建的。

swapon  -s
OR
free
OR
cat  /proc/swaps

我们可以选择使用以下命令重新启动系统以实现上述更改。

reboot

请记住还要阅读这些有用的 Linux 内存管理指南:

  1. 如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间
  2. 检查 Linux 内存使用情况的 10 个“免费”命令
  3. Smem – 报告 Linux 中每个进程和每个用户的内存消耗
  4. 根据 Linux 中内存和 CPU 使用率最高的情况查找运行最多的进程

就是这样!如果您有任何问题,请使用下面的反馈表向我们发送有关此主题的任何问题或重要的其他想法。