[LAD] [OT] bash vs disk activity

Patrick Shirkey pshirkey at boosthardware.com
Fri Oct 12 04:34:00 UTC 2007


On Thu, 2007-10-11 at 13:42 -0400, Ross Vandegrift wrote:
> On Tue, Oct 09, 2007 at 06:58:40PM +0700, Patrick Shirkey wrote:
> > Does anyone have a script for monitoring with iostat or vmstat while in
> > async mode?
> > 
> > I'm thinking a bash equivalent to the disk monitor on gkrellm which
> > allows me to know when a transfer has completed.
> 
> Something like this will return when five seconds have passed with
> no write requests being issues to the device sda:
> 
> CURRENT=$(cat /proc/diskstats | grep sda\  | awk '{ print $8 }')
> LAST=0
> while true; do
> 	LAST=CURRENT
> 	sleep 5
> 	CURRENT=$(cat /proc/diskstats | grep sda\  | awk '{ print $8 }')
> 	if [ "$LAST" == "$CURRENT" ]; then
> 		break
> 	fi
> done
> 
> 
> /proc/diskstats lists a few things.  For complete devices (ie,
> /dev/sda instead of /dev/sda1), it lists:
> 
> Field 1 -- # of reads issued
> Field 2 -- # of reads merged, field 6 -- # of writes merged
> Field 3 -- # of sectors read
> Field 4 -- # of milliseconds spent reading
> Field 5 -- # of writes completed
> Field 7 -- # of sectors written
> Field 8 -- # of milliseconds spent writing
> Field 9 -- # of I/Os currently in progress
> Field 10 -- # of milliseconds spent doing I/Os
> Field 11 -- weighted # of milliseconds spent doing I/Os
> 
> 
> Where field n is the nth field after the device name.
>

Hi,

Thanks everyone again for your suggestions. The above is exactly what I
was thinking of. Thanks very much Ross. I owe you a beer.

I had to make a couple of small changes.

CURRENT=$(cat /proc/diskstats | grep sdb\  | awk '{ print $8 }')
LAST=0
while true; do

        echo -en l = $LAST c = $CURRENT \\n
        sleep 5
        CURRENT=$(cat /proc/diskstats | grep sdb\  | awk '{ print $8 }')
        if [ $LAST == $CURRENT ]; then
                break
        fi
        
        LAST=$CURRENT
done




Cheers.


-- 
Patrick Shirkey
Boost Hardware Ltd.




More information about the Linux-audio-dev mailing list