swap即交换分区,有时候也被称为交换空间。它是一块特殊的磁盘区域。当物理内存空间不足时,内核会将内存中空闲的内存页写入交换区,以腾出内存供活跃的进程使用。
swap位于磁盘上,和物理内存相比,读写数据的速度会慢得多,所以过度使用swap可能导致系统性能下降。所以如果内存经常无法满足工作负载需求,应该考虑提升内存性能比如更换更大空间的内存,而不是使用交换空间。
比如有些容器管理工具(例如Docker、k8s)会在创建容器时自动关闭Swap。因为容器是一种轻量级虚拟化技术,它们与主机共享物理内核。Swap的主要作用是在物理内存不足时将数据移动到磁盘上,但容器内的进程应该受到资源限制,因此容器内的Swap使用可能不会如预期地工作,而且可能引发性能问题。
首先需要创建交换分区。
可以使用 parted
或fdisk
创建所需大小的分区并将其文件系统类型设置为 linux-swap。
创建分区后,记得运行 udevadm settle
命令。此命令会等待系统检测新分区并在 /dev 中创建关联的设备文件。
然后格式化设备。
使用mkswap
命令。比如:mkswap /dev/vdb2
接着激活交换空间。
使用swapon
命令。比如:swapon /dev/vdb2
。
但是要持久激活交换空间的话,需要在 /etc/fstab 文件中放置—个条目。比如:UUID=39e2667a-9458-42fe-9665-c5c854605881 swap swap defaults 0 0
。需要说明一下:第二个字段通常为挂载点保留。但是,由于交换设备无法通过目录结构访问,因此该字段取占位符值swap。第三个字段是文件系统类型。交换空间的文件系统类型是 swap。
然后记得运行 systemctl daemon-reload
命令或重启服务器,以便让 systemd注册新配置
好啦,这次的分享就到这里,感谢大家看到这里