我有 Centos 7
# cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core)
新鲜的rsyslogd
# rsyslogd -version
rsyslogd 8.36.0, compiled with:
足够的可用内存
# free
total used free shared buff/cache available
Mem: 32741276 12244672 4931760 330064 15564844 19239180
但rsyslogd总是使用大约 430M 的交换空间,根据微电子。我不明白,为什么。
您能否给我一些建议,如何限制它的内存消耗以及如何强制它使用 RAM 而不是交换。
答案1
这不是问题,您没有内存压力。请注意 4 GB 可用空间和 14 GB 缓存很容易被丢弃。
交换空间(又称分页空间)的目的是提供一种回收匿名页面的方法。即使有可用内存,它也会这样做。解释这一点的论点:为掉期辩护:常见的误解。Red Hat 博客解释了他们的一些指导意见:我们真的需要在现代系统上进行交换吗?
更有用的是应用性能配置文件,例如使用 tuned。一些配置文件会改变交换性,但性能方面的影响远不止于此。
答案2
检查您的 swappiness 内核参数。 https://linuxhint.com/understanding_vm_swappiness/