计算器基础知识 | cpu性能指标和观测工具(Linux系统)

cpu的性能指标主要包括cpu使用率,系统平均负载,进程上下文切换和cpu缓存命中率。下面分别来介绍具体指标的含义和相应的观测工具。

  1. cpu使用率
    cpu使用率根据cpu上运行任务的不同,又被分为下面几类。ps 下文小括号中的英文用来代表观测工具中的该项指标,不同观测工具会略有不同。下面给出的是完整形式和可能的缩写。

1)用户cpu使用率:包括用户态cpu使用率(user)和低优先级用户态cpu使用率(nice)。表示 CPU 在用户态运行的时间百分比。用户态cpu使用率高,说明有应用程序比较繁忙。

2)系统cpu使用率:表示cpu在内核态运行的时间百分比(sys)(不包括中断)。系统cpu使用率高,说明内核比较繁忙。

3)等待I/O的cpu使用率:表示cpu等待I/O时间百分比(iowait)。等待I/O的cpu使用率高,说明系统和硬件设备的I/O交互时间比较长。

4)软中断和硬中断cpu使用率:分别表示cpu运行软中断(software interrupts 缩写si),硬中断(hardware interrupts 缩写hi)处理程序的时间百分比。软中断硬中断使用率高,通常说明系统发生了大量的中断。

5)和虚拟化相关的cpu使用率:窃取cpu使用率(steal)和 客户cpu使用率(guest), 分别表示被其他虚拟机占用的cpu时间百分比和运行客户虚拟机cpu时间百分比。(#)

常用的cpu使用率的观测工具有

1) top 全面的观测工具,包含cpu使用率的指标
2) htop top的增强版,没有用过
3) pidstat 进程和线程的cpu使用率,中断上下文的切换次数
4)mpstat 每个cpu使用率和软中断次数
5)/proc/softirqs 软中断数据统计
6)/proc/interrupts 硬中断数据统计

  1. 系统平均负载
    系统平均负载,表示系统平均的活跃进程数。它反映了系统的整体负载情况。理想情况下,平均负载等于逻辑cpu个数,这表示每个cpu都恰好被充分利用,如果平均负载大于逻辑cpu个数,就表示负载比较重了。

系统平均负载观测工具:
1)uptime 运行upime 平均负载会出现三个数值,分别表示最近1分钟,最近5分钟,最近15分钟的平均负载
2)

  1. 进程上下文切换
    进程的上下文切换 包括两个指标 1)无法获取资源而导致的自愿上下文切换(voluntary context switches cswch) 2)被系统强制调度导致的非自愿上下文切换 (non voluntary context switches nvcswch)

进程的上下文切换观测工具:

  1. vmstat 系统的上下文切换
  2. pidstat 加上-w 选项 可以查询进程的上下文切换情况
  1. cpu缓存命令率
    cpu缓存分为L1,L2, L3 三级缓存,L1和L2 常用于单核中,L3则用于多核中。
    从 L1到L3,三级缓存的大小依次增大,相应的,性能依次降低。Cpu缓存命中率,衡量的是cpu缓存的复用情况,命中率越高,则表示性能越好。

cpu缓存命令率的观测工具:暂无

你可能感兴趣的:(计算器基础知识 | cpu性能指标和观测工具(Linux系统))