strange disk activity

Dan Nelson dnelson at allantgroup.com
Sat Feb 20 21:48:49 UTC 2010


In the last episode (Feb 20), Boris Samorodov said:
> On Sat, 20 Feb 2010 14:26:15 -0600 Dan Nelson wrote:
> > In the last episode (Feb 20), Boris Samorodov said:
> > > Hello List,
> > > 
> > > I've got a very strange disk activity:
> > > -----
> > > % iostat -xw60 da0
> > >                         extended device statistics  
> > > device     r/s   w/s    kr/s    kw/s wait svc_t  b  
> > > da0       43.2 204.4   971.9 10917.2    0  30.7  30 
> > >                         extended device statistics  
> > > device     r/s   w/s    kr/s    kw/s wait svc_t  b  
> > > da0        5.1 274.6    72.7 15206.2    0  50.4  27 
> > > 
> > > If I'm not mistaken it's approx. 15Mb/sec. Which means more than 1000 Tb a
> > > day!
> > > 
> > > How can I find which program is trashing the disk? The system is
> > > FreeBSD-7.0 with 15 jails.  Thanks for your help.
> 
> > Something like this would be a good start:
> 
> >  dtrace -n 'syscall::write:entry { @dist[pid,execname] = sum(arg2); }'
> 
> > Let it run a few seconds, then hit ^C, and it will print the total bytes
> > written by each process during that period.  You may also have to trace
> > writev and pwrite, since FreeBSD's dtrace doesn't include the sysinfo
> > provider that would let you count them all at once.
> 
> > Data written to swap or mmap'ped files won't register here, but most
> > heavy writes aren't done with mmap.
> 
> Thanks, Dan! Dtrace is really a way to go.
> 
> Unfortunately dtrace is not available at 7.0. That means that
> the system should be updated to 7-STABLE.
> 
> Are there other possibilities meanwhile?

  ktrace -d -i -p 0 ; sleep 10 ; ktrace -C 

, then run kdump -m64 and search for large numbers of writes in the output. 
"-d -i -p0" selects all current and future children of pid 0, which will
trace all processes.  "-m64" limits the I/O dump size to 64 bytes.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list