分类 | 命令 | 描述 |
CPU性能分析相关命令 | mpstat -P ALL 5 | 监控所有CPU的使用情况,间隔5秒后输出一组数据。用于查看是否出现某个CPU占满的情况 |
CPU性能分析相关命令 | pidstat -u 5 1 | 监控所有进程的CPU使用情况,用于查看是否出现某个进程CPU占用过高的问题 |
CPU性能分析相关命令 | watch -d uptime | 监控CPU平均负载变化情况,一旦 1 分钟的平均负载接近或超过了 CPU 的个数,就意味着系统正在发生过载的问题,这时就得分析调查是哪里导致的问题,并要想办法优化了,平均负载高并不一定代表 CPU 使用率高,还有可能是 I/O 更繁忙了 |
CPU性能分析相关命令 | vmstat 5 | 查看 CPU 上下文切换和中断的次数,每5秒输出一组数据 r 列就绪队列的长度如果超过了系统 CPU 的个数会有大量的 CPU 竞争 |
CPU性能分析相关命令 | pidstat -wt 5 | 查看进程及其子线程上下文切换次数,过多的上下文切换会影响性能。 cswch列表示每秒自愿上下文切换(voluntary context switches)的次数, 资源不足时触发。 nvcswch列表示每秒非自愿上下文切换(non voluntary context switches)的次数,CPU时间片已到时触发。 |
CPU性能分析相关命令 | top | us(user)用户 CPU 使用率高,通常说明有应用程序比较繁忙。 wa(iowait)等待I/O的CPU使用率,通常也称iowait ,iowait高说明系统与硬件设备的 I/O 交互时间比较长。 S(State)列为Z的进程是僵尸进程,需要杀死或重启僵尸进程 |
CPU性能分析相关命令 | perf top | 类似于 top,它能够实时显示占用 CPU 时钟最多的函数或者指令,因此可以用来查找热点函数 |
内存性能分析相关命令 | free | 查看内存使用情况 |
内存性能分析相关命令 | pidstat -r 5 1 | 监控所有进程的内存使用情况 |
I/O性能分析相关命令 | df -i /dev/sda1 | 查看索引节点的使用情况 IFree 列较少时,也会报空间不足 |
I/O性能分析相关命令 | iostat -d -x 1 | 查询每个磁盘的使用率、IOPS、吞吐量等各种常见的性能指标 %util列如果接近或达到100%说明磁盘I/O饱和 |
I/O性能分析相关命令 | pidstat -d 1 | 查看所有进程的I/O情况 |
I/O性能分析相关命令 | iotop | 是一个类似于 top 的工具,默认按照 I/O 大小对进程排序 |
网络性能分析工具 | sar -n DEV 1 | 查看网络接口统计信息 |
网络性能分析工具 | ethtool eth0 | grep Speed | 查看网络接口带宽 |
网络性能分析工具 | tcpdump -i any -nn | 抓包,抓取某网络接口某端口某IP的包 |
网络性能分析工具 | netstat -s | egrep "listen|LISTEN" | 查看TCP全连接队列溢出的次数,隔几秒钟执行下,如果这个数字一直在增加的话肯定全连接队列偶尔满了 |
网络性能分析工具 | netstat -t | grep 端口号 | 查看Recv-Q列是否有大量数据堆积,如果有那么一般是CPU处理不过来导致的 |