iostat
iostat:输出CPU和磁盘I/O相关的统计信息
语法:iostat 选项 延迟 计数
参数:
-c:仅显示cpu信息
-d:仅显示磁盘信息
-k:以k为单位显示磁盘每秒请求的块数
-t:显示报告生成时间
-p device | all :显示指定或所有的块设备信息
-x:输出扩展信息[与-p参数冲突]
-N:显示设备映射名
-V:显示iostat版本信息
输出结果:
第一行:
kernel版本(完整主机名) 报告生成日期 系统架构(CPU数)
第三行:avg-cpu(CPU的平均值)
%user:用户运行进程所占用的CPU百分比
%nice:进程优先级操作占用的CPU百分比
%sys:系统级别(kernel)运行所使用的CPU百分比
%iowait:CPU等待硬件I/O时所占用的CPU百分比
%steal:st 的全称是 Steal Time ,就是 Xen Hypervisor 分配给运行在其它虚拟机上 的任务的实际 CPU 时间。
%idle:CPU空闲时间的百分比
第六行:device(硬盘设备)
tps:每秒钟传输的IO请求的数量
KB_read/s:设备每秒钟读取的数量
KB_wrtn/s:设备每秒钟写入的数量
KB_read:设备读出的总数
KB_wrtn:设备写入的总数
示例:
1)每2秒显示一次设备统计信息:
iostat –d 2
2)每2秒显示一次设备统计信息:
iostat –d 2 6
3)每2秒以K为单位显示一次设备统计信息,且显示LVM映名称,共10次:
iostat –dNk 2 10
vmstat
vmstat:监控CPU、内存、虚拟内存交换、IO读写等各种情况的使用
语法:vmstat 选项 延迟 计数
输出结果:
proc(进程)
r:表示运行队列(即:多少进程真正的分配到CPU)
b:阻塞队列(等待资源分配的进程数)
memory(内存)
swap:当前swap使用k数的情况
free:当前物理内存空闲的k数
buff:内存使用的buff总数,一般为块设备操作,文档权限记录等
cache:内存使用的cached总数,一般打开文件,运行程序时使用
swap(虚拟内存)
si:每秒钟从磁盘读入到swap的大小(不可长期大于0)
so:每秒钟从swap写入到磁盘的大小(不可长期大于0)
IO(块设备IO)
bi:块设备每秒钟接收到的块数
bo:块设备每秒钟发送的块数
system(系统情况)
in:系统每秒中断总数(含时钟中断)
cs:每秒上下文切换的次数(系统调用,环境变化等)
CPU(cpu情况)
us:用户(及优先级)占用CPU时间
sy:系统(kernel)占用CPU时间
id:闲置CPU时间
wa:IO等待CPU时间
st:一个虚拟机占用的CPU时间
示例:
每2秒采样1次,总计10次
vmstat 2 10
每5秒检测一次,直至手工停止
vmstat 5
pgrep
pgrep命令
功能:程序检查在系统的中活动进程,报告进程属性匹配命令行上指定条件的进程的ID。
参数:与pkill一致,-l 以长格式输出,仅对pgrep有效
-G:仅匹配真实组ID在给定列表中的进程。
-P ppidlist: 仅匹配给定列表中PPID的进程。
-t termlist:仅匹配与给定列表中终端关联的进程。
-U uidlist:仅匹配真实的用户ID在给定列表中的进程。
-u euidlist:仅匹配有效用户ID在给定列表中的进程
-signal:指定发往每一个匹配进程的信
-x:仅认为进程其参数字符串或者执行文件名称正确匹配规定模式是匹配的进程。
示例:
1)获得一root账户指定的sshd的PID
pgrep -x -u root sshd
2)显示指定账户test所执行的PID及相关名称
pgrep -l -u test
显示tty3登录用户的进程名及pid
pidstat
pidstat:监控被Linux内核管理的独立任务(进程)
说明:它输出每个受内核管理的任务的相关信息。
示例:
1)pidstat
第三行:进程启动时间 UID PID
%usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字 段计算的cpu时间不包括在虚拟处理器中花去的时间。
2)显示PID2864的IO信息:pidstat –d –p 2864
kB_rd/s - 任务从硬盘上的读取速度(kb)
kB_wr/s - 任务向硬盘中的写入速度(kb)
kB_ccwr/s - 任务写入磁盘被取消的速率(kb)
3)显示PID xxxx的内存使用情况的数据:pidstat -r -p xxxxx
minflt/s – 从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。
majflt/s - 从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。
VSZ – 虚拟容量:整个进程的虚拟内存使(kb)
RSS - 长期内存使用:任务的不可交换物理内存的使用量(kb)
pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。
示例:1)pidstat
第三行:
进程启动时间 UID PID %usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。
%system – 这个任务在系统层使用时的cpu使用率。
%guest – 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。
%CPU – 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的 话,cpu使用率会除以你的cpu数量。
CPU - 正在运行这个任务的处理器编号。
Command - 这个任务的命令名称
sar
sar(system Activity Reporter:系统活动情况报告)
功能:linux系统性能分析工具,可分析Linux系统的:文件系统读写情况,系统调用的使用情况,磁盘 IO,CPU使用率,内存使用,进程活动等
语法:sar 操作 -A -o file -t n
-o:以2进制格式记录至指定文件中
-A:所有采样报告的总和
-u:采样并输出CPU信息
dentunusd: 目录高速缓存中未使用的缓存条目编号
file-nr:文件句柄的使用量
inode-nr:i节点使用量
pty-nr:伪终端的pty数量
-d:输出每个设备的活动信息
-r:内存与swap的统计信息
-b:显示IO与传送率的统计信息
-a:文件的读写情况
-c:进程统计情况,每秒创建的进程数目
-R:输出内存页的统计信息
-y:终端设备活动情况统计信息
-w:输出系统交换活动的统计信息
设备使用情况监控,并显示设备名称而不用设备节点号显示
sar -d –p 1 1
DEV 设备名称
tps 每秒对物理磁盘I/O的次数
rd_sec/s 每秒读取扇区的次数
wr_sec/s 每秒写入扇区的次数
avgrq-sz 平均每次设备I/O操作的数据大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求磁盘操作到系统完成处理,每次请求所消耗的平均时间(含列等待时间),单位为毫秒
svctm 系统处理每次请求的平均时间,不包括请求在队列中所消耗的时间
%util 请求占CPU的百分比,此数越大,越代表设备带宽越饱和报告生成时间
average 各列项的平均值
-v:输出
示例:1)对CPU使用情况每10秒采样1次,连续3次。并写入文件test中。
sar -u -o test -t 10 3
2)查看2进制文件test
sar -f test
输出结果
CPU 所统计的CPU数,all为所有
%user 显示user占用CPU百分比
%nice 显示进程优先级占用CPU百分比
%system 显示kernel函数(系统调用)占用CPU百分比
%iowait 显示IO操作等待所占用的CPU百分比
%steal 显示管理程序为虚拟进程提供服务而等待虚拟CPU所占用百分(xen)
%idel CPU闲置百分比报告生成时间
average 各列项的平均值
3)查看内存和swap
sar -r 1 1
kbmemfree 与free 命令中的free值基本一致,不包括
buffer 和 cache的空间
kbmemused 与free命令中used值一致,包括buffer和cache所使用的值
%memused 物理内存使用的百分比,不包含swap
kbbuffer 等同free命令中的buffer值
kbcache 等同free命令中的cache值
kbcommit 确保系统(防止内存溢出)所需要的内存数量(物理内存+SWAP)
%commit 需要内存数量与总内存(物理内存+swap)的百分比报告生成时间
averages 各列项的平均值
4)内存分页监控
sar -B 1 1
pgpgin/s 从磁盘或SWAP置换到内存每秒的KB数
pgpgout/s 从内存置换到磁盘或SWAP每秒KB数
fault/s 每秒钟系统产生的缺页数(主缺页+次缺页)之和(缺页:数据未在内存内)
majflt/s 每秒钟产生的主缺页
pgfree/s 每秒被放入空闲队列中的页个数
pgscank/s 每秒被kswapd扫描(置换到swap)的页个数
pgscand/s 每秒直接被扫描的页个数
pgsteal/s 每秒钟从cache中清除出来满足内存需求的页个数
%vmeff 每秒清除的页个数占总扫描页(pgscank/s+gpscand)个数的百分比报告生成时间
average 各列项的平均值
smart
、smart
1)Self- Monitoring Analysis andReporting Technology(自动检测分析及报告技术)的简写。
2)可实时对硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监 测,及时分析并预报硬盘可能发生的问题。
3)命令及参数
-H:查看硬盘健康状态
-t short:后台检测硬盘,耗时短
-t long:后台检测硬盘,耗时长
-C -t short:前台检测硬盘,耗时短
-C -t long:前台检测硬盘,耗时长
smartctl -H /dev/sda