这不是问题,可能是正常的.很少使用很多代码(可能还有数据),因此系统会将其交换出来以释放内存.
原文链接:https://www.f2er.com/centos/374068.html如果连续交换内存,则交换主要是一个问题.正是这种活动杀死了性能并在系统的其他地方提出了问题.
如果你想监控你的交换活动你可以使用几个实用程序,但vmstat通常非常有用,例如
$vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 348256 73540 274600 0 0 1 9 9 6 2 0 98 0 0 0 0 0 348240 73544 274620 0 0 0 16 28 26 0 0 100 0 0 0 0 0 348240 73544 274620 0 0 0 0 29 33 0 0 100 0 0 0 0 0 348240 73544 274620 0 0 0 0 21 23 0 0 100 0 0 0 0 0 348240 73544 274620 0 0 0 0 24 26 0 0 100 0 0 0 0 0 348240 73544 274620 0 0 0 0 23 23 0 0 100 0 0
忽略第一行,因为系统启动后就是活动.注意— swap–下的si和so列;如果在大多数情况下不是0,它们通常应该是相当小的数字.
另外值得一提的是,这种抢占式交换可以通过内核设置来控制. / proc / sys / vm / swappiness中的文件包含一个介于0和100之间的数字,告诉内核如何积极地换出内存.捕捉文件以查看此设置.默认情况下,大多数Linux发行版默认为60,但如果您不希望在内存耗尽之前看到任何交换,请将0回显到文件中,如下所示:
echo 0 >/proc/sys/vm/swappiness
这可以通过添加来永久化
vm.swappiness = 0
到/etc/sysctl.conf.