CPU 在访问内存的时候,免不了要等待内存的响应。为了协调这二者巨大的性能差距,CPU 缓存(一般是多级缓存)就出现了缓存
掌握了 CPU 的性能指标,咱们还须要知道,怎样去获取这些指标,也就是工具的使用网络
经过这张图你能够发现,这三个命令,几乎包含了全部主要的CPU性能指标tcp
一、pidstat 输出的进程用户 CPU 使用率升高,会致使 top 输出的用户 CPU 使用率升高。因此,当发现 top 输出的用户 CPU 使用率有问题时,能够跟 pidstat 的输出作对比,函数
观察是不是某个进程致使的问题。工具
二、而找出致使性能问题的进程后,就要用进程分析工具来分析进程的行为,好比使用 strace 分析系统调用状况,以及使用perf 分析调用链中各级函数的执行状况。性能
一、top 输出的平均负载升高,能够跟 vmstat输出的运行状态和不可中断状态的进程数作对比,观察是哪一种进程致使的负载升高。blog
二、若是是不可中断进程数增多了,那么就须要作 I/O 的分析,也就是用 dstat 或 sar 等工具,进一步分析 I/O...进程
三、若是是运行状态进程数增多了,那就须要回到 top 和 pidstat,找出这些处于运行状态的究竟是什么进程,而后再用进程分析工具,作进一步分析。内存
当发现 top 输出的软中断 CPU 使用率升高时,能够查看/proc/softirqs 文件中各类类型软中断的变化状况,肯定究竟是哪一种软中断出的问题思维导图
好比,发现是网络接收中断导的问题,那就能够继续用网络分析工具 sar 和 tcpdum来分析