1、Linux性能工具
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程
数,它和 CPU 使用率并没有直接关系。
- 可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps 命令看到
的,处于 R 状态(Running 或 Runnable)的进程。 - 不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常
见的是等待硬件设备的 I/O 响应(),也就是我们在 ps 命令中看到的 D 状态(Uninterruptible
Sleep,也称为 Disk Sleep)的进程。
平均负载其实就是平均活跃进程数。
num | 工具 | 功能 |
---|---|---|
1 | free | |
2 | ping | |
3 | vmstat | VirtualMeomoryStatistics,虚拟内存统计。 |
4 | iostat | 报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。 |
5 | dstat | 显示了cpu使用,磁盘io,网络发包换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入更加详细且较为直观。 |
6 | pidstat | 控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程。 |
7 | top | 负载、进程状态、cpu使用率、内存使用、交换分区。 |
8 | iotop | 进程实时监控工具,界面风格类似top命令 |
9 | htop | 互动的进程查看器,个文本模式的应用程序(在控制台或者X终端中),需要ncurses。 |
10 | mpstat | 报告CPU的统计信息 |
11 | netstat | 显示与IP、TCP、UDP和ICMP协议相关的统计数据,用于检验本机各端口的网络连接情况。 |
12 | ps | 显示当前进程的状态。 |
13 | strace | 跟踪程序执行过程中产生的系统调用及接收到的信号,帮助分析程序或命令执行中遇到的异常情况。 |
14 | uptime | 印系统总共运行了多长时间和系统的平均负载。 |
15 | lsof | 列出当前系统打开文件的工具。 |
16 | perf | 查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。 |
17 | uptime | 印系统总共运行了多长时间和系统的平均负载。 |
18 | tcpdump | 抓包工具。 |
19 | sar | 性能分析工具。 |
20 | blktrace | 是一个Linux下分析I/O相关内容的很好的工具。 |
2、 CPU性能监控
负载说明(现针对单核情况,不是单核时则乘以核数):
- load<1:没有等待
- load==1:系统已无额外的资源跑更多的进程了
- load>1:进程都堵着等待资源