提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、本章Linux资源监控命令合集
-
- (一) mpstat命令——命令主要用于多CPU环境下,它能**显示各个CPU状态**。这些信息存放在/proc/stat文件中。
- 注意事项
- (二)、iostat——监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
- (三)、pidstat——用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。
- (四)、iotop——监控磁盘I/O使用状况
- (五)、动态进程 top
- (六)、lsof——查找进程打开了哪些文件以及与打开文件相关联的内容
- lsof输出各列信息的意义
- FD文件描述符列表
- 文件状态模式
- 文件类型
- (七)、tcpdump——tcpdump是一个抓包工具
- (八)、nload——用来监听网络状态和各ip所使用的带宽
- 总结
前言
监控CPU、磁盘、内存、I/O资源命令:mpstat、iostat、pidstat、iotop、top、lsof、tcpdump、nload
提示:以下是本篇文章正文内容,下面案例可供参考
一、本章Linux资源监控命令合集
mpstat、iostat、pidstat、iotop、top 、lsof、tcpdump、nload
(一) mpstat命令——命令主要用于多CPU环境下,它能显示各个CPU状态。这些信息存放在/proc/stat文件中。
1、命令的作用
mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在**/proc/stat**文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
应用于:
分析多CPU的平均负载高的原因
计算机秘籍导致平均负载高
IO导致平均负载高
等待CPU调度导致平均负载高
mpstat经常配合pidstat等其他命令一起分析系统性能瓶颈
2、命令格式与用法
命令格式
mpstat [ 选项 ] [ <时间间隔> [ <次数> ] ]
mpstat [-P {cpu|ALL}] [internal [count]]
[ -A ] 等于“-I ALL、-u、-P ALL”
[ -u ] 显示cpu的使用状态
[ -V ] 显示版本信息并且退出
[ -I { SUM | CPU | SCPU | ALL } ] 显示中断信息
SUM,显示每一个cpu的中断总数
CPU,显示每秒收到的中断总数
SCPU,查看软终端的统计信息
ALL,显示所有的中断统计信息
[ -P { <cpu> [,...] | ON | ALL } ] 制定显示CPU的信息,从0开始,0…N-1,显示制定CPU信息
ALL,显示所有的CPU信息
其中参数的含义
-P {cpu l ALL} | 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值 |
---|---|
internal | 相邻的两次采样的间隔时间 |
count | 采样的次数,count只能和delay一起使用 |
使用实验
直接使用mpstat命令
mpstat
(1)、当mpstat不带参数时,输出为从系统启动以来的平均值。
mpstat
(2)、当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段(3秒)的平均信息。
mpstat -P ALL 3
(3)、mpstat -P ALL 3 3
mpstat -P ALL 3 3
ALL:代表统计所有cpu
第一个3:代表采样时间间隔3秒
第二个3:采用次数3次
输出参数的含义
CPU 处理器ID(从0开始)
%usr 在internal时间段里,用户态的CPU时间(%),不包含 nice值为负进程
%nice 在internal时间段里,nice值为负进程的CPU时间(%)
%sys 在internal时间段里,核心时间(%)
%iowait 在internal时间段里,硬盘IO等待时间(%)
%iowait 在internal时间段里,硬盘IO等待时间(%)
%irq 在internal时间段里,硬中断时间(%)
%soft 在internal时间段里,软中断时间(%)
%steal 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%guest 显示运行虚拟处理器时CPU花费时间的百分比
%gnice CPU运行niced guest虚拟机所花费的时间百分比
%idle CPU的空闲时间的百分比
注意事项
(1)、 mpstat主要用在当系统变慢,平均负载增大时,我们想判断到底是CPU的使用率增大了,还是IO压力增大的情况。
(2)、如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
(二)、iostat——监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
1、命令的作用
iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
2、命令格式
#iostat [选项] [<时间间隔>] [<次数>]
选项
-c 只显示cpu相关统计信息(默认是同时显示cpu和磁盘信息)
#-d 只显示磁盘统计信息(默认是同时显示cpu和磁盘信息)
-h 使用NFS的输出报告更加友好可读
-j {
ID | LABEL | PATH | UUID | … } 磁盘列表的Device列要用什么维度来描述磁盘
#-k 默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参