嵌入式模拟面试拷打【9】Linux系统性能问题排查思路
1. CPU 性能分析与优化
1.1 CPU 监控工具概览
- top: 实时显示系统总体及各个进程的 CPU 和内存使用情况。
- ps: 提供每个进程的运行状态及资源使用详情。
- pidstat: 专注于分析每个进程的 CPU 使用情况。
1.2 CPU 使用率问题排查
在排查 CPU 使用率问题时,需区分以下几种情况:
- 用户 CPU 过高: 通常指示进程性能问题。
- 系统 CPU 过高: 可能由系统调用性能问题引起。
- I/O 等待 CPU 过高: 通常与网络或磁盘 I/O 问题相关。
- 中断占用 CPU 过高: 可能是中断服务程序问题。
1.3 平均负载分析
使用 uptime
或 top
命令查看系统平均负载,即当前平均活跃进程数。例如:
$ uptime
9:12 up 22:16, 2 users, load averages: 1.38 1.47 1.57
分析流程:
- 使用
top
查看平均负载。 - 确定服务器 CPU 数量:
grep 'model name' /proc/cpuinfo | wc -l
- 配置监控告警,如 Zabbix,当平均负载超过 CPU 数量的 80% 时发出警告。
- 检查上下文切换次数、CPU 缓存命中率及进程状态(如 running 或 sleep)。
1.4 CPU 使用率与负载的区别
- CPU 使用率: 统计单位时间内 CPU 的使用情况,与平均负载不一定完全对应。
- CPU 密集型进程: 高 CPU 使用率导致平均负载升高。
- I/O 密集型进程: 高平均负载但 CPU 使用率不一定高。
1.5 iowa
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式八股/模拟面试拷打 文章被收录于专栏
一些八股模拟拷打Point,万一有点用呢