首页 » 运维 » 基本知识 » 正文

60秒内分析linux性能(中)

4. mpstat -P ALL 1

这个命令可以用来显示每一个CPU的系统中断时间,可以我们用来CPU分配的不平衡,

5. pidstat 1

Pidstat 有点类似TOP,他是每个线程的总结,但是他们打印和滚动的结果,不是清屏,这样的话我们就能够更好对比之前和现在的各种数据,当然我们也能更好的记录下这些数据

在上边的例子中,有两个java进程是引发CPU消耗的罪魁祸首,%CPU显示的是占用的所有CPU的值,1591% 表示占用了将近16CPU

6. iostat -xz 1

这个工具是一个很好的帮助我们理解磁盘,让我们能更好的了解工作负载以及相应的性能问题

r/s, w/s, rkB/s, wkB/s: 每秒发送到设备的读入请求数,每秒发送到设备的写入请求数,每秒从设备读入的数据量,单位为K,每秒向设备写入的数据量,单位为K,我们可以利用这些值,性能问题可能仅仅是因为负载过高

await: I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒. 这是应用程序的综合时间,包含服务时间和等待时间,比与其平均值大的情况说明可能是设备的饱和或者设备问题.
avgqu-sz: 发送到设备的请求的平均队列长度. 如果值大于1说明设备的饱和(尽管通常设备可以并行操作很多请求,特别是虚拟设备)

%util: 在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率.它显示了每一秒中设备的工作时间.这个值超过60%说明这是一个不好的表现(这个也和设备有关).100%的时候就出问题了

如果设备是一个逻辑磁盘,后端有好多后端磁盘,那么100%的利用率只能够说明一些I/O的处理时间为100%,然后后端磁盘可能远远没有饱和,后端磁盘可能还可以处理更多的工作

记住,表现不佳的磁盘不一定就是程序程序问题,许多技术通常使用异步I/O,所以程序一般不会导致磁盘的问题

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)