自学内容网 自学内容网

linux故障排查思路

1,方法论,带着这样的思路来思考

What:现象是什么样的
When:什么时候发生
Why:为什么会发生
Where:哪个地方发生的问题
How much:耗费了多少资源
How to do:怎么解决问题

2,CPU

如果你是做应用运维,针对应用程序,我们通常关注的是内核CPU调度器功能和性能。
线程的状态分析主要是分析线程的时间用在什么地方,而线程状态的分类一般分为:

  • on-CPU:执行中,执行中的时间通常又分为用户态时间user和系统态时间sys
  • off-CPU:等待下一轮上CPU,或者等待I/O、锁、换页等等,其状态可以细分为可执行、匿名换页、睡眠、锁、空闲等状态。
  • 如果大量时间花在CPU上,对CPU的剖析能够迅速解释原因;如果系统时间大量处于off-cpu状态,定位问题就会费时很多。但是仍然需要清楚一些概念:处理器核硬件线程CPU内存缓存时钟频率每指令周期数CPI和每周期指令数IPCCPU指令使用率用户时间/内核时间调度器运行队列抢占多进程多线程字长;
工具描述
uptime平均负载
vmstat包括系统范围的CPU平均负载
mpstat查看所有CPU核信息
top监控每个进程CPU用量
sar -u查看CPU信息
pidstat每个进程cpu用量分解
perfcpu剖析和跟踪,性能技术统计
  • top 查看系统cpu使用情况
  • mpstat -P ALL 1查看所有cpu核信息
  • vmstat 1查看cpu使用情况以及平均负载
  • pidstat -u 1 -p pid进程cpu的统计信息
  • perf top -p pid -e cpu-clock跟踪进程内部函数级cpu使用情况

参考文献:https://mp.weixin.qq.com/s/DhSzjy3J-w2X3Vz7cXd1nw


原文地址:https://blog.csdn.net/qq_37263429/article/details/142350063

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!