记一次oom内核优化记录:vm.lower_zone_protection

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

情景

最近gitlab服务会偶发性500,当前机器部署了gitlab、nfs等服务,经过排查发现是nfsd引发oom,导致系统运行不畅。处理过程如下:

事故现场

开发在使用gitlab的时候发现,偶发性的出现500:

排查

  • 检查gitlab日志,没有发现明显的异常;

  • 检查监控:

    根据监控可以发现,有几个时间点内存有较大变化。

  • 根据以上时间节点查看系统日志,发现:

    当前时间点nfs引发系统oom。

查找解决办法

  • 类似问题:https://www.cyberciti.biz/tips/linux-oom-killer-out-of-memory-and-nfs-server-optimization.html
  • 追根溯源:https://blog.csdn.net/fengda2870/article/details/12038419

通过上面两篇文章搞清楚了原因,修复如下:

# 增加如下配置:
$ vim /etc/sysctl.conf
# 预留系统保护内存为500M(该值根据自己具体使用环境设定)
vm.lower_zone_protection = 500

# 生效最新配置
$ sysctl -p

补充

  • 关于lower_zone_protection和lowmem_reserve_ratio: http://blog.chinaunix.net/uid-286861-id-3503761.html
  • lowmem_reserve_ratio详解:https://blog.csdn.net/joyeu/article/details/20063429 预留内存值是ratio的倒数关系,如果是256则代表 1/256,即为 0.39% 的高端zone内存大小。

转载于:https://my.oschina.net/adailinux/blog/3003558

你可能感兴趣的:(记一次oom内核优化记录:vm.lower_zone_protection)