• zabbix监控kernel.pid_max


    为什么要监控kernel.pid_max呢?以下这个案例来解答这个问题

    有台生产环境的服务器down了,ssh连接不上去。就在准备去重启该机器的时候,突然又可以ssh登录了。但是只有一个同事成功登录,其他人依然无法连接。在成功登录的同事终端上执行任何命令,都会报如下错误:
    # free
    -bash: fork: Cannot allocate memory

    后来多试验几次,偶尔能执行成功:

    # free
    total used free shared buff/cache available
    Mem: 7814784 340028 6688016 9488 786740 7244604
    Swap: 2097148 0 2097148

    可以看出memory还有很多,不可能是内存耗尽问题。

    当时想不通是啥情况。 今天查询资料无意中发现:当环境中有过多process,超过pid max可能会导致这个报错。

    1.  查询pid_max值并修改(原来值挺大,为了测试改小点)

    # sysctl -w kernel.pid_max=500
    kernel.pid_max = 500

    64位系统上pid_max最大值为2^22,32位系统上最大值为32768

    优化系统参数也只能临时解决一些问题,实际生产中开发和测试环境的机器会被很多开发和人员使用,会出现一些linux系统瓶颈问题。这个时候靠优化一些系统参数并不能解决问题,但是我们可以使用监控来提前发现可能出现的问题,然后提前登录机器释放出来一些资源使服务能够平稳运行

    具体的监控步骤如下:

    1、创建应用集:

    再已有的模板中创建一个应用集《PID使用率》

    2、创建监控项:

    为了方便理解把kernel.pid_max的监控项拆分成了三个监控项《PID最多可用数量,PID当前已使用数量,PID当前使用率百分比》,为了方便管理将三个监控项都关联到应用集《PID使用率》 

     3:创建触发器:

  • 相关阅读:
    JavaScript专题——专题三 JavaScript 面向对象
    写在2012结尾,2013的开始
    jQuery层次选择器
    jQuery内容过滤选择器
    使用Storm实现实时大数据分析
    jQuery表单选择器
    JavaScript专题——专题四 JavaScript DOM
    精通CSS+DIV网页样式与布局——CSS文字效果
    JavaScript专题——专题二 JavaScript语法
    牛腩JavaScript
  • 原文地址:https://www.cnblogs.com/suyj/p/15404452.html
Copyright © 2020-2023  润新知