1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Linux 系统故障排查

Linux 系统故障排查

时间:2024-01-18 22:48:10

相关推荐

Linux 系统故障排查

导读

有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题。所以,分析问题和踩坑是非常锻炼一个人的成长和提升自我能力。如果我们有一套好的分析工具,那将是事半功倍,能够帮助大家快速定位问题,节省大家很多时间做更深入的事情。

本篇文章主要介绍各种问题定位的工具以及会结合案例分析问题。

分析问题的方法论:

套用5W2H方法,可以提出性能分析的几个问题

What-现象是什么样的

When-什么时候发生

Why-为什么会发生

Where-哪个地方发生的问题

How much-耗费了多少资源

How to do-怎么解决问题

目录[-]

1、CPU

2、内存

3、磁盘IO

4、网络

5、系统负载

6、火焰图

7、案例分析

1、CPU

1.1 说明

针对应用程序,我们通常关注的是内核CPU调度器功能和性能。

线程的状态分析主要是分析线程的时间用在什么地方,而线程状态的分类一般分为:

a. on-CPU:执行中,执行中的时间通常又分为用户态时间user和系统态时间sys。

b. off-CPU:等待下一轮上CPU,或者等待I/O、锁、换页等等,其状态可以细分为可执行、匿名换页、睡眠、锁、空闲等状态。

如果大量时间花在CPU上,对CPU的剖析能够迅速解释原因;如果系统时间大量处于off-cpu状态,定位问题就会费时很多。但是仍然需要清楚一些概念:

处理器

硬件线程

CPU内存缓存

时钟频率

每指令周期数CPI和每周期指令数IPC

CPU指令

使用率

用户时间/内核时间

调度器

运行队列

抢占

多进程

多线程

字长

1.2 分析工具

说明:uptime,vmstat,mpstat,top,pidstat只能查询到cpu及负载的的使用情况。perf可以跟着到进程内部具体函数耗时情况,并且可以指定内核函数进行统计,指哪打哪。

1.3 使用方式

//查看系统cpu使用情况top//查看所有cpu核信息mpstat -P ALL 1//查看cpu使用情况以及平均负载vmstat 1//进程cpu的统计信息pidstat -u 1 -p pid//跟踪进程内部函数级cpu使用情况perf top -p pid -e cpu-clock

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。