|  |      1Sunyanzi      2014-11-27 16:39:52 +08:00  1 SWAP 的用量应该恒为 0 ... 吃到就要报警了 ... | 
|  |      2EPr2hh6LADQWqRVH      2014-11-27 16:40:25 +08:00  1 swap不是好东西,内存抖动还不如直接杀进程呢 要内存不要swap | 
|      3hydrazt      2014-11-27 16:45:46 +08:00  1 1. 加内存,加服务器 2. 吃内存的服务修改配置 | 
|  |      4halfbloodrock      2014-11-27 16:49:26 +08:00  4 监控看用到一半就报警,同时监控下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 | 
|      5hydrazt      2014-11-27 16:49:46 +08:00  1 zabbix 默认监控项里面就有swap的使用量监控 | 
|  |      6cloudzhou      2014-11-27 17:02:57 +08:00  1 基本上,现在已经不推荐使用 swap 了,容易导致系统抖动,尤其在现在有大内存支持下。 | 
|      7zts1993      2014-11-27 17:03:36 +08:00 加内存 | 
|  |      8kkxxxxxxx      2014-11-27 17:32:34 +08:00 512M小内存,不用swap不行啊,内存又加不起 | 
|  |      9efi      2014-11-27 17:48:38 +08:00 via Android 无swap,oom随机杀进程,过一会发现数据库被杀了 | 
|  |      10halczy      2014-11-27 17:53:04 +08:00  1 除了用来备份/存文件/DEV那些机子之外, 其他的都不会用到SWAP. | 
|  |      11ab      2014-11-27 17:54:46 +08:00  1 同意1,2楼. 每次swap一动,负载马上飞天 | 
|  |      129hills      2014-11-27 17:56:49 +08:00 关掉SWAP,用inittab保证sshd不死 然后做好内存监控,内存超了就OOM吧 | 
|  |      13efi      2014-11-27 18:06:52 +08:00 via Android  1 调内核参数vm.swappiness。为了避免oom杀掉数据库,内核特别把=0的语义改成=1,颇有争论。 | 
|      145thcat      2014-11-27 18:15:04 +08:00  1 "因为一般来说宁愿应用OOM挂掉也不愿意导致rt飙高,使得应用hang在那里的。" 引用自 http://blog.hesey.net/2014/05/swap-impact-on-rt-sensitive-apps.html | 
|  |      16efi      2014-11-27 18:21:51 +08:00 via Android 杀掉数据库比简单的挂掉要糟得多,你宁愿数据库停止然后去优雅关闭也不愿简单的杀掉。 swappiness已经可以起到绝大多数时候避免swap的作用,但是你还是需要swap来处理极端情况。一个折中办法是使用zswap减少io。 | 
|  |      17efi      2014-11-27 18:24:28 +08:00 via Android 应用内部可以还调用madvise通知内核避免swap。简单的取消swap其实是丢弃了一道防护。 | 
|  |      18efi      2014-11-27 18:27:13 +08:00 via Android 总而言之linux的内存管理系统显然是有这方面特性满足实时应用的内存需求的。 | 
|  |      19xtaoyumo      2014-11-27 18:28:04 +08:00 关闭 swap | 
|      20Lax      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。发现有交换就报警。 | 
|  |      21typcn      2014-11-27 18:41:23 +08:00 via iPad 我服务器上有好多程序基本不会运行到的数据文件也加载到内存中,开了减轻压力,只开了512m sw | 
|  |      22bobopu      2014-11-27 19:05:05 +08:00 via iPhone 我现在swap已经达到内存的50%系统抖动十分厉害,打算升级内核后开zswap | 
|  |      23jackzou      2014-11-27 20:41:46 +08:00 调内核参数vm.swappiness 监控swap的值,非零就报警 | 
|  |      24wxm4ever      2014-11-27 20:44:32 +08:00 在阿里云上搭gitlab.我宁愿开1g swap也不愿意多花钱升级内存~~~ - - | 
|  |      25mahone3297      2014-11-27 21:40:34 +08:00 | 
|  |      26billwang      2014-11-27 22:03:53 +08:00  1 华三网管系统,监控cup、内存、进程、weblogic、oracle、ping告警等等,告警后直接报缺陷工单,短信提醒。 | 
|  |      27uniudy      2014-11-27 22:25:03 +08:00 via iPad 尽可能关掉swap,宁愿挂掉也不能响应慢 | 
|  |      28xwsoul      2014-11-27 22:32:53 +08:00 用上swap 服务器就离躺不远了 很可能被接下来的一波带走 | 
|  |      29msg7086      2014-11-27 22:36:00 +08:00 via iPhone 完全不明白为什么一排人说不能用swap。 完全关闭swap会导致最主要的两个问题 1 系统不能更合理地使用内存 2 限制了virt内存的使用量 | 
|  |      30oyjj      2014-11-28 00:08:49 +08:00 修改mysql并发参数~减少内存报警吧~ | 
|  |      31efi      2014-11-28 01:27:12 +08:00 说不能用swap的主要是因为一不了解linux内存管理,二管不住应用程序使用内存的嘴。如果内存足够完全可以在开启swap的情况下避免swapping。如果内存不够可以用cgroup管住那个狂用内存又不太重要的应用。 | 
|      32Lax      2014-11-28 09:33:55 +08:00 | 
|  |      34msg7086      2014-11-28 10:25:56 +08:00 有很多时候系统会把内存里暂时不用的程序swap出去,然后把物理内存空出来用在刀刃上。 比如现在很多系统上跑了很多不必要或者经常不必要的服务,或者跑着那种几天才会跑一次数据的后台进程,这种东西如果使用了不少内存但是又不是经常激活的状态,把这些内存扔进swap然后把内存空出来做磁盘cache提高性能有什么不好。为什么要非常绝对地说一定不能用到swap呢?为什么要阻止系统把内存用在刀刃上呢?楼上各位大神能说说不? |