美文网首页程序猿的纸条屋
服务器性能指标:负载(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