1.iostat
报告块设备和分区的CPU统计信息和输入/输出统计信息。
数据意义
%user 用户级引用占有cpu率
%nice nice优先级的用户级引用占有cpu率
%system 系统级应用占有cpu率
%iowait 等待io时cpu空闲率
%steal 进程切换浪费的cpu率
%idle cpu空转率
tps 每秒处理事物量
xx_read/s
每秒读的资源(由选项决定单位与前缀)
xx_wrtn/s
每秒写的资源
xx_dscd/s
每秒浪费的资源
xx_read
读的资源
xx_wrtn
写的资源
xx_dscd
浪费的资源
r/s
每秒处理的读请求数
w/s
每秒处理的写请求数
d/s
每秒处理的丢弃请求数
sec/s
每秒从设备读取,写入或丢弃的扇区数
rsec/s
每秒从设备读的扇区数
wsec/s
每秒从设备写的扇区数
dsec/s
每秒从设备丢弃的扇区数
rqm/s
每秒合并到队列的i/o请求数
r.... w..... d.....
areq-sz
发送给设备请求的平均大小
r w d
aqu-sz
发布到设备的请求的平均队列长度。
await
发送给要提供的设备的I / O请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间以及为其提供服务所花费的时间。
%util
向设备发出I / O请求所经过的时间百分比(设备的带宽利用率)。 对于连续提供请求的设备,此值接近100%时会发生设备饱和。 但对于并行处理请求的设备,此数字并未反映其性能限制。
-c
仅显示cpu 利用率
-d
仅显示设备使用状况
-h
显示设备使用状况(单位化展示,显示kb mb等,更易阅读)
-k
以KB的形式展示
-m
以mb的形式展示
-N
显示任何设备映射器设备的已注册设备映射器名称(目前没明白什么意思使用起来和普通的iostat没什么不同)
-s
将丢弃数据与读数据一起展示
-t
增加展示时间
-V
展示版本(不展示数据)
-o json
以json的形式打印
iostat -th 时间内点cpu利用率和设备吞吐量,可以得知是否存在大量的写入写出异常导致系统运转出现问题
iostat -txh 时间点的存储设备具体吞吐详情,
iostat -txsh 存储设备队列的相关信息
[设备] [时间间隔] [次数]
可通过上述参数调用相关设备在单位时间段内的信息
如 iostat -th xvda xvdb 2 5 表示仅对于xvda和xvdb存储设备在每两秒打印依次cpu利用率和设备吞吐量,反复打印五次
2.mpstat
查看服务器的cpu运行信息
-n
基于NUMA架构展示的节点信息
-u
与普通的mpstat 展示信息相同
-V
显示版本信息
-A
展示所有信息
--dec=0|1|2
展示对应的小数位数
-I CPU|SCPU|SUM|ALL
CPU:展示CPU每秒接受的中断数量
SCPU:使用SCPU关键字,显示CPU或CPU每秒接收的每个软件中断的数量。 此选项仅适用于内核2.6.31及更高版本。 软件中断是/ proc / softirqs文件中列出的那些
SUM:cpu每秒接受的中断总数
ALL:展示以上所有信息
-N 节点列表 | ALL
在NUML架构下显示响应节点的cpu运行情况
-p cpu列表|ALL
显示对应的cpu使用详情
-V显示版本号
mpstat -P ALL 展示所有cpu的使用详情
mpstat [-option] [间隔][次数]
与iostat 相同,mpstat 也可以打印出单位时间内的cpu使用详情
如 mpstat -P ALL 2 5
每隔两秒打印一次mpstat -P ALL的信息,重复五次
3.pidstat
linux进程信息
-c
cpu平均使用率,同iostat -c
-d
展示进程I/O详情
其中value(iodelay):因为i/o延迟中断的时间
-e 程序 参数
给指定程序参数,使其执行并监听,当程序结束时,pidstat也终止
-G 进程名
查看响应进程的状况
-H
显示进程自启动以来,运行的时间戳
pidstat命令容易卡死,不知道是因为进程太多还是程序本身的bug。推荐通过日志或ps去访问进程信息
4.sar
收集,报告和保存系统活动信息(CPU,内存,磁盘,中断,网络接口,TTY,内核表等)。
一般是从当天记录的日志中提取,记录的位置在/var/log/sa内,日志显示的格式为saXX,xx表示日期
启动sysstat后,定时运行脚本,系统默认没十分钟调用一次./sa1写入日志。
sar命令相当于某一段时间段内的上述命令
以下数据显示均为日志中提取(-o除外),而不是当前时间点的服务器信息
-A
展示所有的信息
-B
分页统计当日情况
-b
展示当日i/o传输效率
-C
展示数据同时展示sadc的注释
-d
打印块设备的活动。显示数据通常使用设备规格。M是设备的主要编号,n是次要编号。
-f 文件名称
可以打开指定文件的日志(当不录入此option时默认显示当天的日志)
-h
转化成易于阅读的数据
-n 关键字|ALL
DEV, EDEV, FC, ICMP, EICMP, ICMP6, EICMP6, IP, EIP, IP6, EIP6, NFS, NFSD, SOCK, SOCK6, SOFT, TCP, ETCP, UDP , UDP6.
查看指定网络状态,包括上传下载流量等。
-o 文件名 间隔 次数
显示服务器当前信息并存入指定的日志文件内(当文件名不指定时,默认为当天存储的日志)
-P cpu|ALL
查看指定cpu在日志中的记录。
-p
查看服务器设备的名称,使用的是用户命名,当用户命名不存在时使用devM-n的方式命名
-q
显示消息队列的长度及其平均值
-v
显示节点中文件与内核表的状态
-W
显示交换统计信息
-w
显示任务创建和系统切换活动
-y
终端设备的状态
-z
显示信息时略过没有活动信息的设备