功能介绍
Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况,虽然SWAP虽然能够变相拓展内存,但是容易产生性能问题。开启swap会影响内存以及I/O;另一个是管理问题,开启swap后通过cgroups设置的内存上限就会失效,会发生可用内存很多也会使用swap的问题,此时则可通过关闭swap避免性能问题。
关闭方法
步骤一:
检查是否开启了swap分区。在终端中输入下面语句。如果swap的行不为0,则表示开启了swap分区。下图则表示开启了swap分区。
free -mh
步骤二:
先临时关闭swap分区,输入下方的语句即可临时关闭swap分区。
swapoff -a
步骤三:
临时关闭后如果有重启系统等行为,swap分区则又会自动恢复。原因是swap分区会开机自动挂载。如果需要永久关闭,将开机自动挂载取消掉即可。输入下方的命令,然后就会永久关闭swap分区。
sed -i '/swap/d' /etc/fstab
说明:上述命令将直接删除fstab文件中的swap分区挂载信息,其实也可以采用注释的方案将其注释避免挂载生效(注释的方案会保留原始的swap分区信息以便查看),具体采用哪种方案可由阅读者自行选择。
步骤四:(仅限服务器D版)
D版服务器系统中可能会由于存在systemd相关服务,此服务会自动检测swap分区并启用它,所以仅执行前面的步骤可能会发现重启系统后交换分区依然存在的现象,此时即可考虑执行步骤四相关内容。
首先,确认systemctl系统服务中swap分区名的方法:
systemctl list-unit-files | grep swap
举例如下,不同系统的swap分区信息会不同:
uos@uos-PC:~$ systemctl list-unit-files |grep swap
dev-disk-by\x2duuid-5…dd27b\x2d4a80\x2d83c3\x2de5b84cde712a.swap generated
swap.target static
其次,使用systemctl指令mask参数关闭对应swap分区服务:
systemctl mask “swap分区名”.swap
©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。