Linux问题故障定位,看这一篇就够了(2)
6.2 分析工具 6.3 使用方式
7. 网络 7.1 说明 网络的监测是所有 Linux 子系统里面最复杂的,有太多的因素在里面,比如:延迟、阻塞、冲突、丢包等,更糟的是与 Linux 主机相连的路由器、交换机、无线信号都会影响到整体网络并且很难判断是因为 Linux 网络子系统的问题还是别的设备的问题,增加了监测和判断的复杂度。现在我们使用的所有网卡都称为自适应网卡,意思是说能根据网络上的不同网络设备导致的不同网络速度和工作模式进行自动调整。 7.2 分析工具 7.3 使用方式
8. 系统负载 8.1 说明 Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a measure of the amount of work that a compute system is doing)简单的说是进程队列的长度。Load Average 就是一段时间(1分钟、5分钟、15分钟)内平均Load。 8.2 分析工具 8.3 使用方式
9. 火焰图 9.1 说明 火焰图(Flame Graph是 Bredan Gregg 创建的一种性能分析图表,因为它的样子近似 ?而得名。 火焰图主要是用来展示 CPU的调用栈。 y 轴表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。 x 轴表示抽样数,如果一个函数在 x 轴占据的宽度越宽,就表示它被抽到的次数多,即执行的时间长。注意,x 轴不代表时间,而是所有的调用栈合并后,按字母顺序排列的。 火焰图就是看顶层的哪个函数占据的宽度最大。只要有”平顶”(plateaus),就表示该函数可能存在性能问题。颜色没有特殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选择暖色调。 常见的火焰图类型有On-CPU、Off-CPU、Memory、Hot/Cold、Differential等等。 9.2 安装依赖库
9.3 安装
9.4 CPU级别火焰图 cpu占用过高,或者使用率提不上来,你能快速定位到代码的哪块有问题吗? 一般的做法可能就是通过日志等方式去确定问题。现在我们有了火焰图,能够非常清晰的发现哪个函数占用cpu过高,或者过低导致的问题。 9.4.1 on-CPU cpu占用过高,执行中的时间通常又分为用户态时间user和系统态时间sys。 (编辑:ASP站长网) |