首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rhel +为什么没有利用交换内存

问rhel +为什么没有利用交换内存
EN

Unix & Linux用户
提问于 2020-10-17 17:00:23
回答 1查看 67关注 0票数 -1

我们的服务器版本为7.6

我们配置了交换空间,我们可以从以下内容看到交换空间的大小

代码语言:javascript
复制
 free -g
              total        used        free      shared  buff/cache   available
Mem:             38          32           0           0           4           4
Swap:            23           0          23

我们还将vm.swappiness配置为

代码语言:javascript
复制
 sysctl -a | grep swap
vm.swappiness = 95

据我所知,当可用内存达到很少的GIGA空闲内存时,为1-5G。

然后应该触发交换,例如,我们希望有5-10G交换总内存。

但这件事发生了

那么我们还应该检查我的服务器吗?

也许是其他一些禁用交换的配置?

免费更新

代码语言:javascript
复制
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
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-10-17 19:08:19

当vm.swappiness设置为100时,在处理内存压力时会同样考虑页面缓存和交换。值小于100的值告诉内核,认为交换比页面缓存更昂贵;因此,当需要释放页面时,它将尝试从页面缓存释放页面,而不是使用交换。价值越低,掉期的成本就越高。(计算比我在这里的解释要复杂得多,但这应该足够接近于了解这里发生了什么。)

在您的示例中,您已经将交换配置为比页面缓存稍微昂贵一些。您所有的页面缓存使用都是可恢复的(在舍入错误中):您的“可用”值等于您的“buff/ cache”值。因此,任何内存压力都会导致页面缓存被回收,而不是使用交换。

您的服务器没有什么问题,它的行为与预期一致。从长远来看,您将看到交换的使用率上升。如果希望看到它使用得更多,请将vm.swappiness设置为100。

另见为什么调皮不起作用?

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/614994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档