美文网首页程序猿的纸条屋
服务器性能指标:负载(load)

服务器性能指标:负载(load)

作者: packet | 来源:发表于2018-07-13 17:22 被阅读0次

    服务器的性能指标是服务器状态的反应,如果服务器出现问题,往往反应在这些指标上。

    先来看负载的定义:

    In UNIX computing, the system load is a measure of the amount of computational work that a computer system performs. The load average represents the average system load over a period of time. It conventionally appears in the form of three numbers which represent the system load during the last one-, five-, and fifteen-minute periods.

    load是系统工作量的度量。

    load由三部分构成,任意一项激增都可能导致负载过高。

    • CPU
    • 内存
    • IO

    查看负载信息的命令有:uptime, top , w

    uptime命令能够打印系统总共运行了多长时间和系统的平均负载。

    w命令的主要功能其实是显示目前登入系统的用户信息。但是与who不同的是,w命令功能更加强大,w命令还可以显示:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1分钟、5分钟和15分钟的平均负载。

    当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。
    当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。
    当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。你不应该让系统达到这个值。
    以上指标都是基于单CPU的,但是现在很多电脑都是多核的。所以,对一般的系统来说,是根据cpu数量去判断系统是否已经过载(Over Load)的。如果我们认为0.7算是单核机器负载的安全线的话,那么四核机器的负载最好保持在3(4*0.7 = 2.8)以下。

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    负载过高可能出现的原因以及解决方法:

    1. 内存泄露导致频繁GC:jstat, jmap
    2. 死锁
    3. 慢sql

    常见的Java Web应用Load飙高排查思路:

    1. uptime
    2. top 查出进程pid
    3. top -Hp pid 查出线程tid
    4. jstatck 能精确到哪个类哪一行

    2019-07-12
    微观的世界最基本的方法论是什么?
    就是统计。
    因为微观世界的速度和数量都是天文数字,不能依靠单一数字来做判断,而需要一个统计值。

    参考:服务器性能指标(一)——负载(Load)分析及问题排查

    相关文章

      网友评论

        本文标题:服务器性能指标:负载(load)

        本文链接:https://www.haomeiwen.com/subject/ojdspftx.html