这不是问题,可能是正常的.很少使用很多代码(可能还有数据),因此系统会将其交换出来以释放内存.
如果连续交换内存,则交换主要是一个问题.正是这种活动杀死了性能并在系统的其他地方提出了问题.
如果你想监控你的交换活动你可以使用几个实用程序,但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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。