046-分析CPU负载率和CPU使用率
2019-05-07 本文已影响0人
陆_志东
使用TOP命令分析CPU的时候需要清楚CPU使用率和CPU负载率
CPU使用率
top 中的 %Cpu 指数 用户任务占用cpu比例 系统占用cpu比例
CPU使用率是指CPU使用了多少性能.对于不同的程序来说分为IO密集型和计算密集型.
计算密集型是消耗CPU较高的应用.IO密集型应用对CPU消耗就不那么高了.
所以CPU使用率决定了CPU是否是超负荷运行.
CPU负载率
top 中的 load average 1分钟 5分钟 15分钟 的负载
CPU负载率是指一段时间内使用了CPU和等待使用CPU(等待被唤醒)的平均任务数
负载率间接的表示了应用的流畅度
如果负载过高,则有可能是启动应用过多,或者某一个应用长时间霸占CPU
负载率并不能表示CPU性能问题.因为占用CPU的应用程序可能并不是很消耗CPU
但负载率过高也是一个需要解决的问题.一般可能是IO太多或IO太慢
CPU的性能分析
理解了以上两个概念的差别后,可以得出分析CPU需要结合以上两个指标分析
top中的第三行表示的%CPU 是所有CPU核心计算后占用总运算力的平均值.即多个cpu的分析结果
后面前两个值分别是用户应用占用的比例, 系统占用的比例, 后面是其他占用.加起来就是cpu的总性能消耗
总和最好不要超过100.
按1 可以查看每个核心的性能.一台linux服务器可能有多个CPU存在,每个cpu也可以是多核CPU.
第一行的load average 表示 1分钟 5分钟 15分钟的平均负载
单个物理单核心CPU, 负载在0.7 左右表示应用很流畅, 1表示正常, 2以上5之间表示不太流畅,5以上表示严重卡顿
如果是多个核心则负载能力翻倍(倍数是核心数,即 0.7*n)
多个cpu则是 cpu数量 * 单个cpu的核心数 * 0.7