在本文中,我们将介绍交换空间,并学习如何在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 - 设备/文件名
- 交换 - 定义设备安装点
- 交换 - 指定文件系统类型
- 默认值 - 描述安装选项
- 0 - 指定转储程序使用的选项
- 0 - 指定fsck命令选项
6.要设置交换文件可以由内核使用的频率 ,请打开/etc/sysctl.conf文件并添加以下行。
请注意,可以使用多少交换空间的默认值为60 (最大值为100 )。 数量越多,内核使用的交换空间越多。 当值设置为0时,只有在操作系统充分利用内存的情况下才会使用交换文件。
vm.swappiness=10
6.现在验证交换文件是使用swapon命令创建的。
# swapon -s OR # free OR # cat /proc/swaps
检查Linux中的交换空间
我们可以使用以下命令重新启动系统以实现上述更改。
# reboot
记住还要阅读这些有用的Linux内存管理指南:
- 如何在Linux上清除RAM内存缓存,缓冲区和交换空间
- 10“免费”命令检查Linux中的内存使用情况
- Smem - 在Linux中报告每个进程和每个用户的内存消耗
- 通过Linux中最高内存和CPU使用情况查找最高运行进程
而已! 如果您有任何问题,请使用下面的反馈表单向我们发送任何问题或重要的附加想法。