How can I pinpoint the I/O hogs in my systems?

How can I pinpoint the I/O hogs in my systems?

I'm looking for commands that pinpoint and check a process that is generating a high disk I/O (input/output) read.

What would that command be in Solaris 8? What would it be in Linux?

    Requires Free Membership to View

    When you register, my team of editors will also send you resources covering Linux administration and management; integration and interoperability between Linux, Windows and Unix; securing Linux and mixed-platform environments; and migrating to Linux.

    Cathleen A. Gagne, Senior Editorial Director

    By submitting your registration information to SearchEnterpriseLinux.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchEnterpriseLinux.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

If you had said CPU or disk, that question would be very easy. Variations of the ps command could give you what you need.

I/O is much trickier! You'll need to do some work here -- there is no one magic command, though I'll mention a neat one at the end.

I like to try a variation of ps, iostat and lsof to determine what is eating up my I/O resources. You may need to download this utility from a site like http://www.stokely.com/unix.sysadm.resources/shareware.www.html.

iostat will give you a sense of what disks are busy and lsof will tell you what files are open at a given time and the placement of the files by filesystems and/or directory. Variations of the ps command will help you identify the top running processes on your system.

Did I say top? If your system does not come with it already, you can also get a copy of TOP, available for Solaris and Linux, that will also identify the top running processes on your system. From there, with a little more work, you should be able to find the I/O hogs.

This was first published in May 2003