我们的服务器版本为7.6
我们配置了交换空间,我们可以从以下内容看到交换空间的大小
free -g
total used free shared buff/cache available
Mem: 38 32 0 0 4 4
Swap: 23 0 23我们还将vm.swappiness配置为
sysctl -a | grep swap
vm.swappiness = 95据我所知,当可用内存达到很少的GIGA空闲内存时,为1-5G。
然后应该触发交换,例如,我们希望有5-10G交换总内存。
但这件事发生了
那么我们还应该检查我的服务器吗?
也许是其他一些禁用交换的配置?
免费更新
free -g
total used free shared buff/cache available
Mem: 11 8 0 0 2 2
Swap: 23 0 23
# free
total used free shared buff/cache available
Mem: 11828240 8810264 161388 24696 2856588 2555472
Swap: 24575992 5120 24570872发布于 2020-10-17 19:08:19
当vm.swappiness设置为100时,在处理内存压力时会同样考虑页面缓存和交换。值小于100的值告诉内核,认为交换比页面缓存更昂贵;因此,当需要释放页面时,它将尝试从页面缓存释放页面,而不是使用交换。价值越低,掉期的成本就越高。(计算比我在这里的解释要复杂得多,但这应该足够接近于了解这里发生了什么。)
在您的示例中,您已经将交换配置为比页面缓存稍微昂贵一些。您所有的页面缓存使用都是可恢复的(在舍入错误中):您的“可用”值等于您的“buff/ cache”值。因此,任何内存压力都会导致页面缓存被回收,而不是使用交换。
您的服务器没有什么问题,它的行为与预期一致。从长远来看,您将看到交换的使用率上升。如果希望看到它使用得更多,请将vm.swappiness设置为100。
https://unix.stackexchange.com/questions/614994
复制相似问题