如何创建 Linux 交换文件
在本文中,我们将解释交换空间,并学习如何在 Linux 中使用交换文件创建交换空间:如果我们没有在硬盘上创建交换分区,这一点很重要。
交换空间/分区是内存已完全利用时在磁盘上为操作系统创建的空间。它可以用作系统的虚拟内存;它可以是磁盘上的分区或文件。
当内核内存不足时,它可以将空闲/不活动的进程移至交换区,从而在工作内存中为活动进程腾出空间。这是涉及将内存部分与虚拟内存进行交换的内存管理。
建议阅读: 8 个有用的命令来监控 Linux 中的交换空间使用情况
话虽如此,下面是我们可以遵循的使用文件创建交换空间的步骤。
如何在 Linux 中创建和启用交换
1.在此示例中,我们将使用 dd 命令创建一个大小为2GB的交换文件,如下所示。请注意,bs=1024表示一次最多读取和写入1024 个字节, count = (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 – 指定文件系统类型
- defaults – 描述挂载选项
- 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 内存管理指南:
- 如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间
- 10 个用于检查 Linux 内存使用情况的“free”命令
- Smem - 报告 Linux 中每个进程和每个用户的内存消耗情况
- 在 Linux 中查找内存和 CPU 使用率最高的运行进程
就是这样!如果您有任何问题,请使用下面的反馈表向我们发送有关此主题的任何问题或重要的补充想法。