[lug] Per process I/O statistics

David Ahern dsahern at gmail.com
Thu Jul 16 08:48:04 MDT 2009

On 07/16/2009 08:21 AM, Steve Sullivan wrote:
> Is there any way to see per-process I/O statistics?

[dsa] depends on the release. If you are running a newer release (2.6.20
or newer) look at /proc/pid/io. You want a kernel with:


If you are running older releases like RHEL3 and RHEL4 I wrote a tool to
generate this data. Admittedly a very simplistic hack. It works very
well for the deployments I care about, but not necessarily a solution
that works for all. It's at http://sourceforge.net/projects/fiostats/

Starting with RHEL4.7, RHEL4 has some degree of IO accounting by
process. That is not in RHEL5.3, but I suspect it will be in RHEL 5.4 (I
have not looked at the beta yet).


> For example, top shows %CPU.  Why not reads/second and
> writes/second?
> There are buffering issues, but one could get a good
> approximation by counting the pread and pwrite system calls.
> Are these counts available anywhere?
> For that matter, is it possible to count ALL types of
> system calls for a process?
> I know vmstat and iostat show I/O statistics on a system wide
> basis, but I need to know the impact of individual processes.
> Thanks!
> Steve

More information about the LUG mailing list