目录
一、mpstat命令
mpstat 命令显示各个可用CPU的状态,mpstat 是 Multi-Processor Statistics 的缩写,是实时监控工具。 mpstat 最大的特点是可以查看多核心的CPU中每个计算核心的统计数据; mpstat 命令主要用于多 CPU 环境下,它显示各个可用 CPU 的状态。
1、命令格式
mpstat [-P {cpu/ALL}] [internal [count]]
-P{cpu/ALL} : //表示监控那个cpu,cpu在[0-cpu个数-1]中取值或者使用ALL
internal: //表示相邻两次采样的间隔时间
count: //表示采样的次数,count能和delay一起使用
如果直接使用mpstat命令,输出为从系统启动以来的平均值
2、输出信息
参数 | 含义 |
CPU | 处理器ID |
%usr | 用户态使用的CPU百分比 |
%nice | 表示使用nice命令对进程进行降级时CPU的百分比 |
%sys | 表示内核进程使用的 CPU 百分比 |
%iowait | 表示等待进行 I/O 所使用的 CPU 时间百分比 |
%irq | 表示用于处理系统中断的 CPU 百分比 |
%soft | 示用于软件中断的 CPU 百分比 |
%steal | 虚拟机强制CPU等待的时间百分比 |
%guest | 虚拟机占用CPU时间的百分比 |
%idle | CPU 的空闲时间的百分比 |
二、iostat命令
iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
1、iostat命令格式
iostat [选项] [时间] [次数]
2、选项
-c:显示CPU使用情况
-d:显示磁盘使用情况
-N:显示磁盘阵列情况
-n:显示NFS使用情况
-k:以KB为单位显示
-m:以M为单位显示
-t:报告每秒向终端读取和写入的字符数和CPU信息
-V:显示版本信息
-x:显示详细信息
-p:[磁盘]显示磁盘和分区情况
3、显示设备情况
CPU
参数 | 含义 |
%user | 表示用户所使用CPU的百分比 |
%nice | 表示使用nice命令对进程进行降级时CPU的百分比 |
%system | 表示内核进程使用的CPU百分比 |
%iowait | 表示等待进行I/O所使用的CPU时间百分比 |
%steal | 虚拟机强制CPU等待的时间百分比 |
%idle | CPU的空闲时间的百分比 |
I/O
参数 | 含义 |
device | 磁盘名称 |
tps | 每秒钟发送到I/O请求数 |
Blk_read / s | 每秒读取的块数 |
Blk_wrtn / s | 每秒写入的块数 |
Blk_read | 读入块的总数 |
Blk_wrtn | 写入块的总数 |
三、iotop命令
iotop命令 是一个用来监视磁盘I/O使用状况的top类工具。 iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。 Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
1、输出的信息
Total DISK READ | 从磁盘中读取数据的总速率 |
Total DISK WRITE | 从磁盘中写入数据的总速率 |
Actual DISK READ | 从磁盘中读取数据的实际速率 |
Actulal DISK WRITE | 从磁盘中写入数据的实际速率 |
TID | 线程ID,按p可转换成进程ID |
PRIO | 优先级 |
USER | 线程所有者 |
DISK READ | 从磁盘中读取的速率 |
DISK WRITE | 往磁盘里写入的速率 |
SWAPIN | swap交换百分比 |
IO> | IO等待所占用的百分比 |
COMMAND | 进程命令 |
2、命令格式
iotop [选项]
选项:
-o:只显示有io操作的进程。
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-P PID:监控的进程pid。
-u USER:监控的进程用户。
3、交互模式
和top命令类似,iotop也支持以下几个交互按键
交互按键:
left和right方向键:改变排序
r:反向排序
o:切换至选项–only
p:切换至–processes选项
a:切换至–accumulated选项
q:退出
i:改变线程的优先级
四、pidstat命令
pidstat 命令是 sysstat 工具的一个命令,用来监控全部或者指定 进程 的CPU、内存、线程、设备IO等系统资源的占用情况。 pidstat 首次运行时显示自系统启动开始的各项统计信息,之后运行 pidstat 将显示自上次运行该命令之后的统计信息。
1、pidstat命令格式
pidstat [选项] [时间间隔] [次数]
2、选项
-u | 默认的参数,显示各个进程的cpu使用统计 |
-r | 显示各个进程的内存使用情况 |
-d | 显示各个进程的IO使用情况 |
-w | 显示各个进程的上下文切换情况 |
-t | 显示线程 |
-p | 指定进程号 |
-l | 显示命令名和所有参数 |
-C | 仅显示command中包含匹配字符串的进程 |
-G | 显示符合匹配进程名字的进程 |
3、输出信息
UID:用户ID
PID:进程ID
%user:表示用户进程所使用cpu的百分比
%system:表示内核进程所使用cpu的百分比
%guest:表示进程在虚拟机占用的CPU的百分比
%wait:表示任务在等待运行时花费的cpu的百分比
%CPU:表示进程所使用cpu的百分比
CPU:处理进程的cpu编号
Command:进程对应的命令
五、lsof命令
sof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
1、命令选项
-p:输出指定进程打开的文件
-l:输出中使用ID代替用户名
-u:输出指定用户打开的文件
-c:输出COMMAND列中包含string的项
-d:输出包含指定描述符的项
fileName:输出打开文件fileName的所有项
2、输出信息
此处使用lsof -p 1意思是列出1进程打开的文件
输出信息介绍:
COMMAND : 命令名称
PID : 进程ID
USER : 用户ID号或登录名
FD : 文件描述符
TYPE : 与文件关联结点的类型
DEVICE : 设备号
SIZE/OFF : 文件大小/偏移量,以字节为单位
NODE : 文件结点
NAME : 文件挂载点和文件所在的系统