Linux性能优化(4)-CPU使用率

  1. 1. CPU使用率
    1. 1.1 概念
    2. 1.2 如何查看
    3. 1.3 如何分析

衡量CPU的方式,可以使用:

  • 平均负载
  • CPU上下文切换
  • CPU使用率

1. CPU使用率

1.1 概念

Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个人物使用,因此造成多任务同时运行的错觉。

为了维护CPU时间,Linux通过事先定义的节拍率,触发时间中断,并使用全局变量Jiffies记录了开机以来的节拍数,每发生一次时间中断,Jiffies的值就加1.可以通过查询/boot/config内核选项来查看其配置,一般来说设置为100,250, 1000等数值。比如对于100来说,就是每秒触发250次时间中断。

Linux通过/proc虚拟文件系统,向用户空间提供系统内部状态的信息,而/proc/stat提供的就是系统的CPU和任务统计信息

  • 使用man proc 查询, 都是和CPU使用率相关的重要指标
    • user: 用户态CPU时间
    • nice: 低优先级用户态时间
    • system: 内核态CPU时间
    • idle: 空闲时间
    • iowait: 等待I/O的CPU时间
    • irq: 处理硬中断的CPU时间
    • softirq: 处理软中断的CPU时间
    • steal: 运行在虚拟机当中,被其他虚拟机占用的CPU时间
    • guest: 运行虚拟机的CPU时间
    • guest_nice: 以低优先级运行虚拟机的时间

fig1.png

1.2 如何查看

  • top
    • 显示系统总体的CPU和内存使用的情况,以及各个进程的资源使用情况
  • ps
    • 显示每个进程的资源使用情况
  • pidstat
    • 分析每个进程的CPU使用率

1.3 如何分析

  • 使用Perf
    • perf top
      • 显示占用CPU时钟最多的函数或者指令
    • perf record
      • 可以保存数据
    • perf report

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 stone2paul@gmail.com

文章标题:Linux性能优化(4)-CPU使用率

文章字数:463

本文作者:Leilei Chen

发布时间:2020-01-31, 12:52:23

最后更新:2020-02-02, 14:06:57

原始链接:https://www.llchen60.com/Linux%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96-4-CPU%E4%BD%BF%E7%94%A8%E7%8E%87/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏