交换是操作系统从辅助存储设备获取的内存,用于执行操作任务。当主内存(RAM)已满并且需要额外存储来运行正常功能时,就会发生这种情况。
交换内存是管理系统内存需求的一种有效方法。然而,它也有一些缺点。例如,它通常比主内存慢,这总体上降低了系统的性能。在内存故障(OOM)的情况下,它也可能导致服务器崩溃。
在正常操作中,系统可以高效地管理交换;但是,在某些情况下,必须由管理员手动管理。在本指南中,我将介绍在Linux上清理交换的过程以及如何管理它。
如何在Linux上清除Swap
在Linux上清除swap就像关闭和打开一个进程一样简单。使用带有—m标志的free命令检查swap的当前状态。
免费-m
其中-m以MB为单位显示输出,要获得以GB为单位的输出,请使用-g标志。
使用swapoff命令禁用交换。
数独掉期-a
—a标志指示/etc/swap目录中标记为swap的所有设备。它停止使用交换空间,只依赖RAM。
交换过程可能需要时间才能清除,因此,请稍等几秒钟,让该过程完成。要查看数据传输,请使用FREE命令。
使用swapon命令激活交换。
须藤世邦
交换已被清除;您可以使用free—m命令验证它。
如何在Linux上管理交换空间
Linux上的交换是使用一个名为swappiness的内核参数来控制的。与Linux上的所有内容一样,swappiness也是一个位于/proc/sys/vm目录下的文件。要读取文件,请使用cat命令和文件路径。
CAT/proc/sys/vm/swappity
输出屏幕截图指示默认值swappiness 60。要修改swappiness的值,我们需要访问sysctl.conf文件。
sudo nano/etc/sysctl.conf
将vm.swappness参数的值更改为其他值。如果该参数不存在,只需键入它即可。
vm. swappiness = N
其中N是交换的值。
交换值可以设置在0到100之间;0将保持交换禁用,而100表示积极交换。
对sysctl.conf文件进行更改后,需要重新启动系统以使更改生效。然后使用cat命令检查swappness的值。
结论
交换是任何操作系统中管理内存的有效方法。有时,由于异常的应用程序行为,可能会发生激进的交换,最终使系统变慢并导致内存不足错误。清除互换可以纠正这种情况。要清除Linux上的交换,请使用swapoff和swapon命令重置它。要管理交换值,请修改sysctl.conf文件中的vm. swappiness参数。