Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈
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瓶颈的更多相关文章
- Linux性能优化从入门到实战:01 Linux性能优化学习路线
我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等. 把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...
- Linux性能优化从入门到实战:07 CPU篇:CPU性能优化方法
性能优化方法论 动手优化性能之前,需要明确以下三个问题: (1)如何评估性能优化的效果? 确定性能的量化指标.测试优化前的性能指标.测试优化后的性能指标. 量化指标的选择.至少要从应用程序 ...
- Linux性能优化从入门到实战:16 文件系统篇:总结磁盘I/O指标/工具、问题定位和调优
(1)磁盘 I/O 性能指标 文件系统和磁盘 I/O 指标对应的工具 文件系统和磁盘 I/O 工具对应的指标 (2)磁盘 I/O 问题定位分析思路 (3)I/O 性能优化思路 Step 1:首先采用 ...
- Linux性能优化从入门到实战:04 CPU篇:CPU使用率
CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示. $ top top - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00 ...
- Linux性能优化从入门到实战:02 CPU篇:平均负载
每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令: $ uptime 22:22:17 up 2 days, 20:14, 1 user, load average: ...
- Linux性能优化从入门到实战:09 内存篇:Buffer和Cache
Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储. 避免跟文中的"缓存"一词混淆,而文中的"缓存",则通指内存中的临时存储 ...
- Linux性能优化从入门到实战:17 网络篇:网络基础
网络模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference ...
- Linux性能优化从入门到实战:15 文件系统篇:磁盘 I/O
磁盘 磁盘是可以持久化存储的设备,按照存储介质来分类: (1)机械磁盘(硬盘驱动器,Hard Disk Driver,HDD),主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中.在读写数 ...
- Linux性能优化从入门到实战:12 内存篇:Swap 基础
内存资源紧张时,可能导致的结果 (1)OOM 杀死大内存CPU利用率又低的进程(系统内存耗尽的情况下才生效:OOM 触发的时机是基于虚拟内存,即进程在申请内存时,如果申请的虚拟内存加上服务器实际已用的 ...
随机推荐
- 版本基线自动化之Linux
上一篇笔者叙述了如何在windows平台上进行自动化打包,这次采用linux平台 1.start.bat : 调用cleanall.bat脚本 ,从svn服务器中检出代码,并采用7-Zip工具进行压缩 ...
- IIS发布mvc网站需操作的内容
VS2010 WEB部署,先在IIS中创建站点,站点创建需注意以下的内容,创建完成后点击[发布]---[WEB部署]--[发布]. 在IIS7下部署MVC已经简化了许多,基本按照一般的项目部署即可,下 ...
- Windows10主机插入耳机只有一边有声音
Windows10主机插入耳机只有一边有声音 在网上看了好几个版本,排除了主机插孔和耳机本身的问题,根据一篇文章在声音设置中找到了答案,原文章不是windows10,所以我找了好一会才找到,所以特地写 ...
- 在php中获取 数据库的内容,返回到页面
<?php header("content-type:text/html;charset=utf-8"); $link=mysqli_connect("localh ...
- Linux驱动开发7——I/O内存分配
CPU通过物理地址访问DDR和外设,DDR内存称为物理内存地址空间,外设寄存器组称为I/O内存地址空间. ARM采用统一编址,而X86采用独立编制.上一章介绍了DDR内存分配,这一章介绍I/O内存分配 ...
- 2014 ECML: Covariate-correlated lasso for feature selection (ccLasso)
今天看了一篇 ECML 14 的文章(如题),记录一下. 原文链接:http://link.springer.com/chapter/10.1007/978-3-662-44848-9_38 这篇文章 ...
- Codeforces Round #573
http://codeforces.com/contest/1191 A 给一个数,可以加0,1或2然后取模,再映射到字母,字母有排名,求最大排名. 总共只有4种情况,讨论即可 #include< ...
- Powershell 邮件发送
目录 目录 前言 Send-MailMessage NETMail 使用OutLook发送邮件 前言 最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式. 如 ...
- loc() iloc() at() iat()函数
1 四个函数都是用于dataframe的定位 []用于直接定位. loc()函数是用真实索引,iloc()函数是用索引序号. loc()函数切片是左闭右闭,iloc()函数切片是左闭右开. at(), ...
- unique()函数
unique()函数可输出列表,元组和series中的不同元素. 且只能输出dataframe的某一列series中的不同元素,不能同时输出. 返回的都是一个ndarry,但不能输出ndarry中的不 ...