zoukankan      html  css  js  c++  java
  • 监控系统的平均负载

    1.为什么要监控系统的平均负载?
    有时我们会感觉到系统响应很慢,但是又找不到具体原因,这时要查平均负载,检查是否有大量的进程在排队等待

    2.平均负载是什么?
    特定时间间隔内运行队列中的平均进程数,好象还不够明白:就是进程队列的长度,有多少个进程在排队等待运行

    3.什么是”进程队列”?
    一个进程满足以下条件就会位于进程队列中
    A>它没有在等待I/O操作的结果
    B>它没有主动进入等待状态(即没有调用wait)
    C>它没有被停止

    4.如何查看平均负载?
    最简单的命令是 uptime
    bash# uptime
    00:44:22 up 1:17, 3 users, load average: 8.13, 5.90, 4,94

    5.显示的内容是什么意思?
    load average: 8.13,5.90,4,94
    显示的是过去的1,5,15分钟内进程队列中的平均进程数量

    6.如何衡量当前系统是否负载过高?
    如果每个cpu(可以按CPU核心的数量计算)上当前活动进程数不大于3,则系统性能良好,
    不大于4,表示可以接受
    如大于5,则系统性能问题严重
    上面例中的8.13,如果有2个cpu核心,则8.13/2=4.065, 此系统性能可以接受
    建议设置严格的报警值为: CPU核心的数量
    比如:CPU核心数量为2,则设置报警值为2
    (这样设置是合理的,因为毕竟不是每个应用都支持多CPU及多核心)

    7.其他查看平均负载的命令

    tload    #能够绘制出负载变化的图形 uptime   #同时显示开机以来的时间 w        #同时显示出已登录的用户 top      #这个对资源占用太高,不建议使用 cat /proc/loadavg   #通过/proc系统信息得到平均负载

    8.如果你要持续的观察平均负载,建议用 watch uptime 或 watch cat /proc/loadavg
    关于watch:每隔一定时间执行指定的程序,并全屏显示结果。时间默认是2秒

  • 相关阅读:
    python每日一题:使用套接字创建分布式进程
    市盈率分析
    python每日一题:分布式进程之坑点
    python每日一题:比较单线程,多线程,协程的运行效率
    python每日一题:锁知识点
    python每日一题:查找一篇文档中的人名和城市
    python之装饰器@
    python每日一题:利用字典实现超市购物程序
    【Java基础】多线程
    【Java基础】异常处理
  • 原文地址:https://www.cnblogs.com/shihao/p/2415294.html
Copyright © 2011-2022 走看看