linux源码安装iostat, dstat systat的方法

<>强源码安装systat :

# wget http://perso.orange.fr/sebastien.godard/sysstat-8.0.4.1.tar.gz
#焦油zxvf sysstat-8.0.4.1.tar。广州
# cd sysstat-8.0.4.1
# ./configure
#让
#让安装

使用iostat分析压力过大的服务器:
,

$ iostat - x 1
Linux 2.6.33-fukai (fukai-laptop),,,,,,,,,_i686_ ,,CPU (2)
avg-cpu:,% user ,%好% % iowait 系统;% steal ,%闲置
,,,,,,,,,,5.47,,,0.50,,,8.96,,48.26,,,0.00,,36.82
,
设备:,,,,,,,,rrqm/s ,wrqm/s ,,,r/s ,,,w/s ,rsec/s ,wsec/s avgrq-sz avgqu-sz ,await svctm % util
sda ,,,,,,,,,,,,,6.00,,273.00,,99.00,,,7.00,2240.00,2240.00,,,42.26,,,,1.12,,10.57,,7.96,84.40
sdb ,,,,,,,,,,,,,0.00,,,,4.00,,,0.00,350.00,,,,0.00,2068.00,,,,5.91,,,,0.55,,,1.58,,0.54,18.80

输出选项说明:
,

rrqm/s:,,每秒进行合并的读操作数目。即δ(rmerge)/s
wrqm/s:,每秒进行合并的写操作数目。即δ(wmerge)/s
r/s:,,,,,,,,,,每秒完成的读I/O设备次数。即δ(力拓)/s
w/s:,,,,,,,,每秒完成的I/O写设备次数。即δ(wio)/s
rsec/s:,,,每秒读扇区数。即δ(rsect)/s
wsec/s:,每秒写扇区数。即δ(wsect)/s
岩石层/s:,,,,,每秒读K字节数。是rsect/s的一半,因为每扇区大小为512字节。(需要计算)
wkB/s:,,,每秒写K字节数。是wsect/s的一半。(需要计算)
avgrq-sz:平均每次设备的I/O操作的数据大小(扇区).delta (rsect + wsect)/δ(力拓+ wio)
avgqu-sz:平均I/O队列长度。即δ(aveq)/s/1000(因为aveq的单位为毫秒)。
等待:,,,平均每次设备的I/O操作的等待时间(毫秒)。即δ(诡计+ wuse)/δ(力拓+ wio)
svctm:,,平均每次设备的I/O操作的服务时间(毫秒)。即δ(使用)/δ(力拓+ wio)
% util:,,,,,一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。即δ(使用)/s/1000(因为使用的单位为毫秒)
,

注意:
% util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
闲置小于70% IO压力就较大了,一般读取速度有较多的等待。
同时可以结合vmstat查看查看b参数(等待资源的进程数)和西澳参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

另外,等待的参数也要多和svctm来参考,差距太多的话,同说明存在IO的问题。
avgqu-sz也是个做IO调优时需要注意的地方,它是直接每次操作的数据的大小。
如果次数多,但数据拿的小的话,其实IO也会很小。
如果数据拿的大,才IO的数据会高。也可以通过avgqu-sz×(r/s或w/s)=rsec/s或wsec/s,即读写速度由它决定。


linux源码安装iostat, dstat systat的方法