202409121624 Linux 性能分析优化-CPU
202409121624 Linux 性能分析优化-CPU
1 Linux 系统概览
1.1 CPU 概览
冯诺依曼结构:

CPU大概内部结构:

1.2 Linux 内核概览

2 基本概念
2.1 平均负载
2.2 CPU 使用率
2.3 CPU 上下文切换
2.4 中断
3 CPU 使用率过高如何排查
- 通过toppspidstat找到 CPU 使用率过高的进程 CPU 使用率#4) 获得CPU使用率的几种方法- 找到占用 CPU 最多的函数
- 使用GDB或者其他Debug工具进行调试
- 使用 linux-perf
 
 
- 找到占用 CPU 最多的函数
- 针对突发进程如何处理呢?
- 模拟突发进程特别多的情况
- 开启终端,演示突发进程的现象
 
- top 直接查看,无法发现具体哪个进程的问题
- 几种观测突发进程的方法
- 使用 top -b -c输出到文件,然后分析文件内容
- 使用 linux-perf 记录一段时间的内容,然后通过 report查看 cpu 使用率- 观察到了CPU使用率比较高的command之后,可以使用 pstree找到对应的父进程
 
- 观察到了CPU使用率比较高的command之后,可以使用 
- 使用 linux-execsnoop 观测 exec生成的新进程
 
- 使用 
 
- 模拟突发进程特别多的情况
- 软中断CPU使用率升高如何排查
- 模拟软中断特别多的情况
- top 看 sist使用率- cat /proc/softirqs查看软硬中断的情况,观察是什么类型的中断上涨比较多 计算机中断#3.3.1) 查看中断
 
- 一般情况下,都是网络问题,可以使用 sar -n DEV 1观察输入输出包的速度
 
- 快速分析系统CPU瓶颈的命令工具
4 性能优化的思路
参考之前的分享: QB性能优化指南
5 参考
- Linux 性能优化实战: https://time.geekbang.org/column/intro/100020901?tab=catalog
- Linux man pages online: https://man7.org/linux/man-pages/index.html
- 第八章 CPU的结构和功能_排队器是在cpu中的吗-CSDN博客: https://blog.csdn.net/qq_45091353/article/details/127096768