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命令,输出为从系统启动以来的平均值

2、输出信息 

参数含义
CPU处理器ID
%usr用户态使用的CPU百分比
%nice表示使用nice命令对进程进行降级时CPU的百分比
%sys表示内核进程使用的 CPU 百分比
%iowait表示等待进行 I/O 所使用的 CPU 时间百分比
%irq表示用于处理系统中断的 CPU 百分比
%soft示用于软件中断的 CPU 百分比
%steal虚拟机强制CPU等待的时间百分比
%guest虚拟机占用CPU时间的百分比
%idleCPU 的空闲时间的百分比

二、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等待的时间百分比
%idleCPU的空闲时间的百分比

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往磁盘里写入的速率
SWAPINswap交换百分比
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 : 文件挂载点和文件所在的系统
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉吉吉吉吉吉吉吉吉吉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值