CPU性能指标

  
  (1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。
  (2)平均负载 Load Average:过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载
  (3)进程上下文切换:1) 无法获取资源而导致的自愿上下文切换;2) 被系统强制调度导致的非自愿上下文切换。
  (4)CPU缓存命中率:因为CPU处理速度比内存访问速度快得多,则需要等待内存的响应。为了协调两者性能差距,出现了CPU的多级缓存。如下图所示,L1、L2属于单核,L3用在多核中,缓存大小依次增大、性能依次降低。缓存命中率,衡量的是CPU缓存的复用情况,命中率越高、复用越多,性能越好。
  
  

性能工具

  (1)平均负载案例: 1) uptime 查看了系统的平均负载,2) mpstat 和 pidstat 分别观察了每个 CPU 和每个进程 CPU 的使用情况。
  (2)上下文切换的案例:1)vmstat 查看系统的上下文切换次数和中断次数;2)pidstat 观察进程的自愿上下文切换和非自愿上下文切换情况;3)pidstat 观察线程的上下文切换情况。
  (3)进程CPU使用率升高案例:1)top 查看系统和进程的 CPU 使用情况,2) perf top 观察具体进程。
  (4)系统CPU使用率升高案例:1)top、pidstat 观察系统 CPU 升高,2)perf record 和 perf report 、execsnoop。
  (5)不可中断进程和僵尸进程案例:1)top 观察 iowait、不可中断进程和僵尸进程;2)dstat 发现磁盘问题;3)pidstat 找出相关进程;4)strace、perf 分析进程调用链。
  (6)软中断案例:1)top 观察系统的软中断 CPU 使用率;2)查看 /proc/softirqs 找到了几种变化速率较快的软中断;3)sar 发现是网络小包的问题,4)tcpdump 找出网络帧的类型和来源。

  记忆CPU性能指标与哪些工具有关:
  
  记忆某工具对于哪些性能指标:
  
  

快速定位CPU性能瓶颈

  Step 1:先通过 top、vmstat 和 pidstat 大致定位;
  Step 2:而后具体分析。
  
  
  
  
  
  

Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈的更多相关文章

  1. Linux性能优化从入门到实战:01 Linux性能优化学习路线

      我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等.   把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...

  2. Linux性能优化从入门到实战:07 CPU篇:CPU性能优化方法

    性能优化方法论   动手优化性能之前,需要明确以下三个问题:   (1)如何评估性能优化的效果? 确定性能的量化指标.测试优化前的性能指标.测试优化后的性能指标.   量化指标的选择.至少要从应用程序 ...

  3. Linux性能优化从入门到实战:16 文件系统篇:总结磁盘I/O指标/工具、问题定位和调优

    (1)磁盘 I/O 性能指标 文件系统和磁盘 I/O 指标对应的工具 文件系统和磁盘 I/O 工具对应的指标 (2)磁盘 I/O 问题定位分析思路 (3)I/O 性能优化思路 Step 1:首先采用 ...

  4. Linux性能优化从入门到实战:04 CPU篇:CPU使用率

      CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示. $ top top - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00 ...

  5. Linux性能优化从入门到实战:02 CPU篇:平均负载

    每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令: $ uptime 22:22:17 up 2 days, 20:14, 1 user, load average: ...

  6. Linux性能优化从入门到实战:09 内存篇:Buffer和Cache

      Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储.   避免跟文中的"缓存"一词混淆,而文中的"缓存",则通指内存中的临时存储 ...

  7. Linux性能优化从入门到实战:17 网络篇:网络基础

    网络模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference ...

  8. Linux性能优化从入门到实战:15 文件系统篇:磁盘 I/O

    磁盘   磁盘是可以持久化存储的设备,按照存储介质来分类:   (1)机械磁盘(硬盘驱动器,Hard Disk Driver,HDD),主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中.在读写数 ...

  9. Linux性能优化从入门到实战:12 内存篇:Swap 基础

    内存资源紧张时,可能导致的结果 (1)OOM 杀死大内存CPU利用率又低的进程(系统内存耗尽的情况下才生效:OOM 触发的时机是基于虚拟内存,即进程在申请内存时,如果申请的虚拟内存加上服务器实际已用的 ...

随机推荐

  1. Spring Cloud教程(十二)加密和解密

    Spring Cloud具有一个用于在本地解密属性值的Environment预处理器.它遵循与Config Server相同的规则,并通过encrypt.*具有相同的外部配置.因此,您可以使用{cip ...

  2. D - Cheerleaders(第三周)

    D - Cheerleaders 题目链接:https://vjudge.net/contest/154063#problem/D 题目大意: 给你一个 n∗m 的方格,现在有 k 个相同石子,我们要 ...

  3. 学习wavenet_vocoder之环境配置

    WaveNet vocoder位于github的位置,https://github.com/r9y9/wavenet_vocoder 一.配置时的环境 操作系统:win10 python环境工具:An ...

  4. django搭建一个小型的服务器运维网站

    前言   不管是运维还是开发抑或是测试,工作中不免会和Linux服务器打交道,常见的操作譬如:查看CPU或内存状态.查看和修改服务器时间.查看或者修改服务器配置文件.实时查看或回看系统的日志.重启服务 ...

  5. MySQL高可用方案 MHA之一MHA安装

    MHA0.58安装 MHA(Master High Availability)由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).管理节点mha4mysql-manager ...

  6. oracle体系结构基础

    摘自:http://jianshi-dlw.iteye.com/blog/1554892 Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库). Instanc ...

  7. C#中查找或结束程序域中的主、子进程

    有时候,我们的程序需要启动一些子进程,如嵌入的图形程序. 当启动一个进程后,获得这个进程信息Process,然后其内部在某个时刻启动了一个子进程,这个时候就涉及程序域和进程树的概念.当我们通过非正常操 ...

  8. 爱好-超级IP:超级IP

    ylbtech-爱好-超级IP:超级IP  IP,是Intellectual Property的缩写,字面粗译为“知识产权”,特指具有长期生命力和商业价值的跨媒介内容运营.一个具有可开发价值的真正的I ...

  9. Firefox,Chrome使用

    Firefox 插件 REDIRECTOR Automatically redirect pages based on user-defined rules. 根据用户定义的规则自动重定向页面的插件. ...

  10. PHP执行外部程序

    备份/恢复数据库 exec - 执行一个外部程序(在php文件所在目录进行执行) 很久以前写的,很多方法是项目中的直接复制粘体用不了,只能提供下思路. 用到执行外部程序的就这一句: exec(&quo ...