$ iostat -T 2 10
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
tty: tin tout avg-cpu: % user % sys % idle % iowait time
0.0 377.0 77.6 6.1 16.2 0.1 11:35:45
Disks: % tm_act Kbps tps Kb_read Kb_wrtn time
hdisk5 78.0 6080.0 439.0 12048 112 11:35:45
hdisk4 79.5 11856.5 453.5 23564 149 11:35:45
hdisk6 19.0 1664.0 13.0 3328 0 11:35:45
$
% tm_act 物理磁盘活动的时间百分比
KBPS 某块磁盘传输数据的总量(读或写)
tps 某块物理磁盘每秒钟 IO 传输的数量
Kb_read 从磁盘上读取数据的总量
Kb_wrtn 写入磁盘的数据总量
如果
%tm_act 字段显示磁盘非常忙,并且 Kbps 字段显示持续的大量数据传输,应考虑散布数据跨越多个磁盘。该命令支持动态的配置改变。如果发现到配置改变,iostat 报告发出一个警告,并刷新最新的系统配置。其中% tm_act是指活动时间,kbps是在统计时间内所有Kb_read与Kb_wrtn之和除以时间的值,即每秒传输的字节数如果% tm_act常过70%却只有很低的Kbps,系统可能是有比较多的LV碎片或文件碎片,当都高时则系统正常。tps表示每秒的IO数,不同的磁盘系统其可承受的IO数不同。如果一块磁盘的活动率超过70%,可以通过转移一部分的磁盘活动压力到另一个磁盘上,或者通过多个磁盘驱动器来扩展I/O压力来获得更高的性能。
$ iostat -D hdisk0 (查看某一磁盘的情况
)
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
hdisk0 xfer: %tm_act bps tps bread bwrtn
4.6 58.3K 8.8 16.5K 41.9K
read: rps avgserv minserv maxserv timeouts fails
3.5 5.8 0.3 67.8 0 0
write: wps avgserv minserv maxserv timeouts fails
5.3 11.2 0.6 114.9 0 0
queue: avgtime mintime maxtime avgwqsz avgsqsz sqfull
136.8 0.0 388.4 0.2 0.0 3.8
--------------------------------------------------------------------------------
如果使用启用多路径
I/O [multi-path input-output (MPIO)]的设备,可使用 iostat -m 命令显示每条相关路径的统计信息。
$ iostat -m -D hdisk6
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
hdisk6 xfer: %tm_act bps tps bread bwrtn
3.4 286.7K 28.6 285.3K 1.4K
read: rps avgserv minserv maxserv timeouts fails
28.5 1.9 0.1 383.4 0 0
write: wps avgserv minserv maxserv timeouts fails
0.1 4.5 0.2 94.3 0 0
queue: avgtime mintime maxtime avgwqsz avgsqsz sqfull
0.9 0.0 326.3 0.0 0.0 21.0
Path1 xfer: %tm_act bps tps bread bwrtn
3.4 286.7K 28.6 285.3K 1.4K
Path0 xfer: %tm_act bps tps bread bwrtn
0.0 0.0 0.0 0.0 0.0
------------------------------------------------------------------------------
2.
确定CPU使用情况
$ iostat 2
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
tty: tin tout avg-cpu: % user % sys % idle % iowait
0.0 354.5 79.4 4.6 15.9 0.0
......
......
tin 系统从所有
ttys 读取的字符的总数
tout 系统写到所有 ttys 的字符的总数
%user 以用户模式执行 CPU 利用率的百分比
%sys 以内核模式执行 CPU 利用率的百分比
%idle CPU 空闲时间的百分比,系统没有未解决的磁盘 I/O 请求
%iowait CPU 空闲时间的百分比,期间,系统有未解决的磁盘 I/O 请求
%physc 消耗物理 CPU 的百分比,只在运行共享处理器的分区显示
%entc 消耗分配容量的百分比,只在运行共享处理器的分区显示
3.
异步IO
$ iostat -A
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
aio: avgc avfc maxg maif maxr
0 0 0 22 4096
avgc 指定时间间隔内,每秒平均全局
non-fast 路径 AIO 请求计数
avfc 指定埋单间隔内,每秒平均全局 AIO fast 路径请求计数
maxg 自最后一次取值以来,最大的全局 non-fast 路径 AIO 请求计数
maxf 自最后一次取值以来,最大 fast 路径请求计数
maxr 容许的最大 AIO 请求。这是 AIO 设备的 maxreqs 属性
4.
确定适配器的利用率
$ iostat -a
System configuration: lcpu=8 drives=29 paths=52 vdisks=0
tty: tin tout avg-cpu: % user % sys % idle % iowait
0.0 12.6 13.5 2.2 83.4 0.8
Adapter: Kbps tps Kb_read Kb_wrtn
fcs0 0.0 0.0 180 0
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk8 0.0 0.0 0.0 0 0
hdisk9 0.0 0.0 0.0 0 0
hdisk18 0.0 0.0 0.0 0 0
hdisk5 0.0 0.0 0.0 0 0
hdisk11 0.0 0.0 0.0 0 0
hdisk10 0.0 0.0 0.0 0 0
hdisk12 0.0 0.0 0.0 0 0
hdisk16 0.0 0.0 0.0 0 0
hdisk13 0.0 0.0 0.0 0 0
hdisk14 0.0 0.0 0.0 0 0
hdisk19 0.0 0.0 0.0 0 0
hdisk4 0.0 0.0 0.0 0 0
hdisk7 0.0 0.0 0.0 180 0
hdisk20 0.0 0.0 0.0 0 0
hdisk15 0.0 0.0 0.0 0 0
hdisk22 0.0 0.0 0.0 0 0
hdisk24 0.0 0.0 0.0 0 0
hdisk17 0.0 0.0 0.0 0 0
hdisk6 0.0 0.0 0.0 0 0
hdisk21 0.0 0.0 0.0 0 0
hdisk23 0.0 0.0 0.0 0 0
hdisk25 0.0 0.0 0.0 0 0
hdisk26 0.0 0.0 0.0 0 0
hdisk27 0.0 0.0 0.0 0 0
Adapter: Kbps tps Kb_read Kb_wrtn
sisscsia0 1037.2 24.0 853190413 2792786844
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk2 0.0 0.0 0.0 0 0
hdisk1 2.9 43.1 5.9 7601140 143758376
hdisk0 4.6 57.0 8.8 56471864 143758376
hdisk3 3.6 937.2 9.4 789117409 2505270092
Adapter: Kbps tps Kb_read Kb_wrtn
ide0 0.0 0.0 0 0
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
cd0 0.0 0.0 0.0 0 0
Adapter: Kbps tps Kb_read Kb_wrtn
fcs1 1753.6 141.4 5991841616 172643922
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk8 0.0 0.0 0.0 0 0
hdisk9 0.0 0.0 0.0 0 0
hdisk18 0.0 0.0 0.0 0 0
hdisk5 7.9 761.6 69.1 2654793648 22544736
hdisk11 0.0 0.0 0.0 0 0
hdisk10 0.0 58.5 0.2 205481199 0
hdisk12 0.0 0.0 0.0 0 0
hdisk16 0.0 59.9 0.3 210289843 108792
hdisk13 0.0 0.0 0.0 0 0
hdisk14 0.0 0.0 0.0 0 0
hdisk19 0.0 0.0 0.0 0 0
hdisk4 5.8 593.5 43.2 1941265217 145036858
hdisk7 0.0 0.0 0.0 0 0
hdisk20 0.0 0.0 0.0 0 0
hdisk15 0.0 0.0 0.0 0 0
hdisk22 0.0 0.0 0.0 0 0
hdisk24 0.0 0.0 0.0 0 0
hdisk17 0.0 0.0 0.0 0 0
hdisk6 3.4 280.2 28.6 980011709 4953536
hdisk21 0.0 0.0 0.0 0 0
hdisk23 0.0 0.0 0.0 0 0
hdisk25 0.0 0.0 0.0 0 0
hdisk26 0.0 0.0 0.0 0 0
hdisk27 0.0 0.0 0.0 0 0
iostat
8.5.5
用途:报告
cpu状态,IO,网卡,tty,disk,cd-rom
使用:
正常情况下监视系统,非常情况,硬软件改变,改变
VG,LV,FS属性,改变系统管理,改变应用
1.1 监视硬盘
%tm_act 硬盘活动时间百分比
KBPS 硬盘交换数据总量
tps IO每秒与该硬盘交换数据
Kb_read 从该盘读取数据总数
Kb_write 向该盘写入数据总数
iostat -T -d
关注某一块硬盘的使用状况:
iostat -D
监视CPU
tin sys->tty
tout ttu->sys
%user user 模式
%sys kernel 模式
%idle 无显著的磁盘
IO请求时,CPU处于空闲状态时间比
%iowait 有显著的磁盘
IO请求时,CPU处于空闲状态时间比
监视异步
IO
iostat -A
avgc 不熟悉
监视网卡
tps 网卡每秒
IO传输
bkread 每秒从主机传输到网卡块字节数
bkwrtn 每秒从网卡传输到主机块字节数
partition-id 由网卡发起到分区的分区
id
更多细节:iostat -a -D
vmstat 8.5.1
监控内存与
CPU
无其他标志,显示为自启动来的总和
iostat interval count
间隔时间
采样次数
-s 自系统启动以来页面调度事件的统计数
pv:指定要监视的物理卷名
1~4个
-f 启动以来系统调用
fork 的累积数量
显示结果
页面调度分析参数
pi 每秒调入页数
po 每秒调出页数
fr 当前系统需要的空闲页数
sr 要求检察内存页的数量
---------
不用
re 非活跃列表中重新收回的数据
cy 内存页置换算法的时钟周期
内存管理包括虚拟内存
avm 活动虚拟内存,页面空间活动总页数太大不能说明问题
fre 自由列表大小
--太小不正常
kernel 线程
r 平均运行
kernel thread 数 over the sample interval 运行队列数目
b VMM等待队列中的平均
kernel thread
Faults:sample interval 每秒中断数
in 设备中断
sy 系统调用
cs kernel thread 交换
CPU cpu使用故障时间百分比
us: 用户时间
sy 系统时间
id cpu空闲时间
wa 有显著
disk/NFS/IO请求时cpu空闲时间
pc
ec
磁盘
topas 监控主机
CPU、内存等的使用情况
Topas
命令输出如下:
Topas Monitor for host: Db01 EVENTS/QUEUES FILE/TTY
Mon Dec 10 09:09:16 2007 Interval: 2 Cswitch 12308 Readch 979.5K
Syscall 29895 Writech 8440.5K
Kernel 5.7 |## | Reads 2385 Rawin 0
User 61.9 |################## | Writes 6155 Ttyout 658
Wait 3.5 |## | Forks 25 Igets 0
Idle 28.9 |######### | Execs 25 Namei 998
Runqueue 3.0 Dirblk 0
Network KBPS I-Pack O-Pack KB-In KB-Out Waitqueue 0.0
Total 19.5K 8898.0 4267.5 819.3 18.7K
PAGING MEMORY
Disk Busy% KBPS TPS KB-Read KB-Writ Faults 6054 Real,MB 32000
Total 16.6 18.3K 1167.0 18.1K 168.2 Steals 0 % Comp 40.5
PgspIn 36 % Noncomp 60.4
Name PID CPU% PgSp Owner PgspOut 0 % Client 59.6
oracle 467348 17.4 7.0 oracle PageIn 36
oracle 897102 9.4 15.5 oracle PageOut 0 PAGING SPACE
oracle 586198 6.4 15.5 oracle Sios 35 Size,MB 16384
oracle 1708200 4.9 15.6 oracle % Used 55.2
oracle 1204532 4.6 15.5 oracle NFS (calls/sec) % Free 44.7
oracle 549046 4.5 15.5 oracle ServerV2 0
oracle 1552564 3.9 19.8 oracle ClientV2 0 Press:
oracle 516526 3.9 20.2 oracle ServerV3 0 "h" for help
oracle 1495462 3.5 15.5 oracle ClientV3 0 "q" to quit
输出各部分解释:
1)CPU
使用情况:这个分部显示一个条形图表来表示累积的
CPU 使用情况。如果有多个 CPU,按 c 键两次就可显示 CPU 列表。仅按 c 键一次会关闭这个分部。
User% :这显示以用户方式执行的程序所使用的
CPU 的百分数。(缺省按用户% 排序)
Kern% :这显示以内核方式执行的程序所使用的
CPU 的百分数。
Wait% :这显示用于等待
IO 的时间的百分数。
Idle% :这表示
CPU 空闲时间的百分数。
Physg :本分区许可的物理处理器数目(如是微分区)
%Entg :本分区许可的
Entitled Capacity 百分比(如是微分区)
2)
网络接口情况:此分部显示了热门网络接口的列表。所显示接口的最大数目是正被监视的热门接口数目,正如
-n 标志指定的那样。如果其它分部也被显示,则将显示接口的一个较小数目。按 n 键可关闭此分部。再按一次 n 键就会显示一行所有网络接口活动的报告摘要。
Interf :网络接口的名称。
KBPS :在监视时间间隔内每秒钟以
KB 为单位的总吞吐量。这个字段是每秒接收到的千字节和发送的千字节的总和。
I-Pack :在监视时间间隔内每秒钟接收到的数据包的数目。
O-Pack :在监视时间间隔内每秒钟发送的数据包的数目。
KB-In :在监视时间间隔内每秒钟接收到的千字节的数目。
KB-Out :在监视时间间隔内每秒钟发送的千字节的数目。
当此分部首先显示热门网络接口列表时,按
KBPS 字段对列表排序。但是,可以按其它字段对列表排序,只要把光标移到想要的那一栏顶部就可以了。排序仅对最多 16 个网络适配器有效。
3)
物理磁盘情况:此分部显示了热门物理磁盘的列表。所显示物理磁盘的最大数目是正被监视的热门物理磁盘数目,正如
-d 标志指定的那样。如果其它分部也被显示,则将显示物理磁盘的一个较小数目。按 d 键可关闭这个分部。再按一次 d 键就会显示一行所有物理磁盘活动的报告摘要。
Disk :物理磁盘的名称。
Busy% :表示物理磁盘活动时间的百分比(驱动器带宽使用)。
KBPS :在监视时间间隔内每秒钟读和写的千字节的数目。此字段是
KB-Read 和 KB-Writ 的总和。
TPS :每秒钟发送到物理磁盘的传输的数目。传输是对物理磁盘的
I/O 请求。多个逻辑请求可组合成对磁盘的单个 I/O 请求。传输大小不确定。
KB-Read:每秒钟从物理磁盘读取的千字节的数目。
KB-Writ:每秒钟写到物理磁盘的千字节的数目。
当此分部首先显示热门物理磁盘列表时,按
KBPS 字段对列表排序。但是,可以按其它字段对列表排序,只要把光标移到想要的那一栏顶部就可以了。排序仅对最多 128 个物理磁盘有效。
4)WLM(Workload Manager)
类:此分部显示了热门工作量管理(
WLM)类的列表。所显示 WLM 类的最大数目是正被监视的热门 WLM 类数目,正如 -w 标志指定的那样。如果其它分部也被显示,则将显示 WLM 类的一个较小数目。按 w 键可关闭此分部。对于每一个类会显示下列字段:
% CPU
使用情况 :在监视时间间隔内
WLM 类的平均 CPU 使用情况。
% Mem
使用情况 :在监视时间间隔内
WLM 类的平均内存使用情况。
% Blk I/O :在监视时间间隔内
WLM 类的块 I/O 的平均百分比。
当这个分部首先显示热门
WLM 类列表时,就按 CPU% 字段来对列表排序。但是,可以按其它字段来对列表排序,只要把光标移到想要的那一栏顶部就可以了。
5)
进程类:此分部显示了热门进程的列表。所显示进程的最大数目是正被监视的热门过程数目,正如
-p 标志指定的那样。如果其它分部也被显示,则将显示进程的一个较小数目。按 p 键可关闭此分部。按监视时间间隔内进程的 CPU 使用情况来对进程排序。
NAME :在进程中执行的可执行程序的名称。名称已被除去任何路径名和参数信息并被截断到
9 个字符的长度。
PID :进程的进程标识。
% CPU :在监视时间间隔内进程的平均
CPU 使用情况。第一次显示进程时,这个值表示整个进程阶段平均 CPU 使用情况。
PgSp :分配给此进程的调页空间的大小。这可被认为是进程覆盖区的一种表达式,但并不包括用来保持可执行程序和它依赖的任何共享库的内存。
owner :(如果
WLM 部分被关闭) 拥有此进程的用户的用户名。
工作量管理(
WLM)类(如果 WLM 部分被打开) :进程所属的 WLM 类。
6)
事件/队列 :显示所选系统全局事件的每秒频率、线程运行和等待队列的平均大小:
Cswitch :在监视时间间隔内每秒上下文切换的数量。
Syscalls :在监视时间间隔内每秒执行的系统调用的数量。
Reads :在监视时间间隔内每秒执行的
read 系统调用的数量。
Writes :在监视时间间隔内每秒执行的
write 系统调用的数量。
Forks :在监视时间间隔内每秒执行的
fork 系统调用的数量。
Execs :在监视时间间隔内每秒执行的
exec 系统调用的数量。
Runqueue :准备运行但需要等待处理器可用的平均线程数目。
Waitqueue:正在等待页面调度完成的平均线程数目。
7)
文件/TTY :显示所选文件与
tty 统计信息的每秒频率。
Readch :在监视时间间隔内
read 系统调用每秒读的字节数。
Writech :在监视时间间隔内
write 系统调用每秒写的字节数。
Rawin :在监视时间间隔内从
TTY 中每秒读取的原始字节数。
Ttyout :在监视时间间隔内每秒写入
TTY 中的字节数。
Igets :在监视时间间隔内每秒调用信息节点查找例程的数量。
Namei :在监视时间间隔内每秒调用路径名查找例程的数量。
Dirblk :在监视时间间隔内被目录搜索例程每秒扫描的目录块数目。
8)
页面调度: 显示页面调度统计信息的每秒频率。
Faults :在监视时间间隔内每秒页面出错的数量。这包括不能激活页面调度的页面故障。
Steals :在监视时间间隔内每秒钟有物理内存
4K 帧被虚拟内存管理器占用。
PgspIn :在监视时间间隔内每秒钟从调页空间读取
4K 页面的数量。
PgspOut :在监视时间间隔内每秒钟把
4K 页面写入调页空间的数量。
PageIn :在监视时间间隔内每秒钟读取
4K 页面的数量。这包括与从文件系统读取有关的页面调度活动。从这个值中减去 PgspIn 就可得到在监视时间间隔内每秒钟从文件系统读取的 4K 页面的数量。
PageOut :在监视时间间隔内每秒钟写
4K 页面的数量。这包括与写入文件系统有关的页面调度活动。从这个值中减去 PgspOut 就可得到在监视时间间隔内每秒钟写入文件系统的 4K 页面的数量。
Sios :在监视时间间隔内虚拟内存管理器每秒钟发出的
I/O 请求的数目。
9)
内存 :显示实际内存大小与内存使用的分布情况。
Real
,MB :以
MB 为单位的实际内存大小。
% Comp :当前分配给计算页面帧的实际内存的百分数。计算页面帧通常是那些被调页空间支持的帧。
% Noncomp :当前分配给非计算页面帧的实际内存的百分数。非计算页面帧通常是那些被文件空间(可以是数据文件、可执行文件或共享库文件)支持的帧。
% Client :当前被分配用来高速缓存远程安装的文件的实际内存的百分数。
10)
调页空间:显示调页空间的大小及利用情况。
Size
,MB :系统上所有调页空间的总和,以
MB 为单位。
Used :当前在使用的调页空间占所有的百分数。
Free :当前未使用的调页空间占所有的百分数。
11)NFS :显示每秒调用的
NFS 状态
TOP
命令其它用法:
topas -P :显示最忙进程
topas -D :显示磁盘使用情况
topas -i :指定时间间隔,默认是
2s刷新一次