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. R 大小写转换

    >x = "CAGTTTCTTGAGTCTGATTAATTCAGGTTTCGGGGT"#定义字符串变量x>tolower(x)[1] "cagtttcttga ...

  2. 170829-关于AOP面向切面编程

    1.AOP概念:Aspect Oriented Programming 面向切面编程 2.作用:本质上来说是一种简化代码的方式 继承机制 封装方法 动态代理  …… 3.情景举例 ①数学计算器接口[M ...

  3. 《SQL Server 2012 T-SQL基础》读书笔记 - 10.可编程对象

    Chapter 10 Programmable Objects 声明和赋值一个变量: DECLARE @i AS INT; SET @i = 10; 变量可以让你暂时存一个值进去,然后之后再用,作用域 ...

  4. Python编程:从入门到实践—列表

    访问列表中的元素 >>> bicycles = ['trek','cannondale','redline','specialized']>>> print(bic ...

  5. 模拟赛DAY 2 T1江城唱晚

    [题目背景] 墙角那株海棠,是你种下的思念. 生死不能忘,高烛照容颜. 一曲江城唱晚,重忆当年坐灯前, 青衫中绣着你留下的线. ——银临<江城唱晚> [问题描述] 扶苏是个喜欢一边听古风歌 ...

  6. VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三

    目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_GetMetadataKeys VixDiskLib_ReadMetadata 获取虚拟磁盘元数据 VixDiskLib_ ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_2_字符输入流读取字符数据

    读取的文件有中文也有英文 强转为char类型 缓冲读取多个字符 使用string的构造方法转换为字符输出

  8. Series.str方法

    1 对dataframe的某一列用str处理后,其类型是<class 'pandas.core.strings.StringMethods'>.可以对df.['列名'].str直接进行切片 ...

  9. 如何在idea中查看jar包源码

    文章目录 准备jar包 idea打开文件夹 最后一步 准备jar包 例如,我准备看resin的jar,在桌面准备了一份 idea打开文件夹 在idea中file====>open=====> ...

  10. unity 编辑器教程

    教程1:https://blog.csdn.net/u010019717/article/details/80300136 教程2:https://blog.csdn.net/liqiangeasts ...