系统平均负载

  • load average
平均负载:单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。
  • 可运行状态:正在使用cpu或等待cpu的进程,即ps命令下状态为R(Running或Runnable)的进程。
  • 不可中断状态:正在处于内核关键流程中的进程,这些流程是不可打断的,如等待硬件设备的I/O响应,即ps命令下状态为D(Uninterruptible Sleep,也成为Disk Sleep)的进程。
 
  • 当load average大于cpu的个数时,表明系统已经出现了过载。当load average高于cpu数量70%的时候,需要排查负载高的问题了,负载过高会导致进程响应变慢。
    
  • load升高的几种情况
  1. cpu密集型进程,使用大量的cpu会导致load升高。
  2. i/o密集型进程,等待i/o会导致load升高。
 
  • 工具
  • stress:linux系统压力测试工具
  • sysstat:linux性能分析工具,包含mpstat和pidstat等
  • mpstat:多核cpu性能分析工具,可以实时查看每个cpu的性能指标
  • pidstat:进程性能分析工具,实时查看进程的cpu、内存、i/o及上下文等性能指标
                命令:
  • stress --cpu 1 --timeout 600 模拟cpu使用率100%的场景(--timeout表示执行时间)
  • stress -i 1 --timeout 600  模拟io 100%的场景
  • stress -c 8 --timeout 600  模拟8个进程
  • mpstat -P ALL 5 1  显示所有cpu的使用情况,5秒输出一组数据(-P ALL表示监视所有进程)
  • pidstat -u 5 1 查看每个 进程 的使用情况,5秒输出一组数据 (-u 表示cpu利用率)

posted on 2019-07-15 21:36  LG一直在努力  阅读(145)  评论(0编辑  收藏  举报

导航