Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)

目录

一、mpstat命令

1、命令格式

2、输出信息 

二、iostat命令

1、iostat命令格式

2、选项

3、显示设备情况

 CPU

I/O

三、iotop命令

1、输出的信息

2、命令格式

3、交互模式

四、pidstat命令

1、pidstat命令格式

2、选项

3、输出信息

五、lsof命令

1、命令选项


一、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命令,输出为从系统启动以来的平均值
Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)_第1张图片

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、显示设备情况

Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)_第2张图片

 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、输出的信息

Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)_第3张图片

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、输出信息

Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)_第4张图片

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、输出信息

Linux中监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、iotop、pidstat、lsof)_第5张图片

 此处使用lsof -p 1意思是列出1进程打开的文件

输出信息介绍:

COMMAND : 命令名称
PID : 进程ID
USER : 用户ID号或登录名
FD : 文件描述符
TYPE : 与文件关联结点的类型
DEVICE : 设备号
SIZE/OFF : 文件大小/偏移量,以字节为单位
NODE : 文件结点
NAME : 文件挂载点和文件所在的系统
 

你可能感兴趣的:(大数据)