Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My Solaris 10 websever / database server disk io keeps spiking at intermittent times.

Using iostat -xtc 5 the reads / sec will jump from 3.0 to 1450.0 and %busy will jump to 98%

The apache access log doesn't indicate anything out of the ordinary. In other words, requests aren't any higher than usual.

top doesn't generate anything useful. The cpu usage is fine with mysql using about 20% and nothing else to speak of really.

What monitoring tool should I be using to see what process is using excessive disk I/O? or if there are any other suggestions I'm all ears.


share|improve this question
up vote 2 down vote accepted

You need to use dtrace. Try the dtrace toolkit, it comes with lots of scripts and howto files.

Here's a nice presentation, and a few one-liners you may find useful.

Files Opened by process
$ dtrace -qn 'syscall::open*:entry{ printf("%s %s\n",execname,copyinstr(arg0)); }'

Read Bytes by process
$ dtrace -n 'sysinfo:::readch{ @[execname] = sum(arg0);}'

Write Bytes by process
$ dtrace -n 'sysinfo:::writech{ @[execname] = sum(arg0);}'
share|improve this answer
Thank you. Will look into it. – bonez05 Mar 8 '10 at 18:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.