关于 Linux 服务器的 swap 用量,大家所在的运维团队都是如何监控和优化的呢?

2014-11-27 16:29:38 +08:00
 Livid
9917 次点击
所在节点    DevOps
35 条回复
Sunyanzi
2014-11-27 16:39:52 +08:00
SWAP 的用量应该恒为 0 ... 吃到就要报警了 ...
EPr2hh6LADQWqRVH
2014-11-27 16:40:25 +08:00
swap不是好东西,内存抖动还不如直接杀进程呢
要内存不要swap
hydrazt
2014-11-27 16:45:46 +08:00
1. 加内存,加服务器
2. 吃内存的服务修改配置
halfbloodrock
2014-11-27 16:49:26 +08:00
监控看用到一半就报警,同时监控下vmstat si so的数值

优化swap本身倒是不多,基本上也就是跟着redhat的建议来。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-tunables.html
hydrazt
2014-11-27 16:49:46 +08:00
zabbix 默认监控项里面就有swap的使用量监控
cloudzhou
2014-11-27 17:02:57 +08:00
基本上,现在已经不推荐使用 swap 了,容易导致系统抖动,尤其在现在有大内存支持下。
zts1993
2014-11-27 17:03:36 +08:00
加内存
kkxxxxxxx
2014-11-27 17:32:34 +08:00
512M小内存,不用swap不行啊,内存又加不起
efi
2014-11-27 17:48:38 +08:00
无swap,oom随机杀进程,过一会发现数据库被杀了
halczy
2014-11-27 17:53:04 +08:00
除了用来备份/存文件/DEV那些机子之外, 其他的都不会用到SWAP.
ab
2014-11-27 17:54:46 +08:00
同意1,2楼. 每次swap一动,负载马上飞天
9hills
2014-11-27 17:56:49 +08:00
关掉SWAP,用inittab保证sshd不死

然后做好内存监控,内存超了就OOM吧
efi
2014-11-27 18:06:52 +08:00
调内核参数vm.swappiness。为了避免oom杀掉数据库,内核特别把=0的语义改成=1,颇有争论。
5thcat
2014-11-27 18:15:04 +08:00
"因为一般来说宁愿应用OOM挂掉也不愿意导致rt飙高,使得应用hang在那里的。" 引用自
http://blog.hesey.net/2014/05/swap-impact-on-rt-sensitive-apps.html
kofj
2014-11-27 18:19:38 +08:00
@avastms 赞同,还是加内存吧
efi
2014-11-27 18:21:51 +08:00
杀掉数据库比简单的挂掉要糟得多,你宁愿数据库停止然后去优雅关闭也不愿简单的杀掉。

swappiness已经可以起到绝大多数时候避免swap的作用,但是你还是需要swap来处理极端情况。一个折中办法是使用zswap减少io。
efi
2014-11-27 18:24:28 +08:00
应用内部可以还调用madvise通知内核避免swap。简单的取消swap其实是丢弃了一道防护。
efi
2014-11-27 18:27:13 +08:00
总而言之linux的内存管理系统显然是有这方面特性满足实时应用的内存需求的。
xtaoyumo
2014-11-27 18:28:04 +08:00
关闭 swap
Lax
2014-11-27 18:31:52 +08:00
1 禁用
/etc/sysctl.conf: vm.swappiness=0

2
/etc/sysctl.conf: vm.swappiness=1
监控swap使用量,超过30%就报警。
监控swap in/out。发现有交换就报警。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/149721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX