Nice little tool someone mentioned at work today: iotop. Iotop shows disk read/write and swapin per process. Very handy if you suspect I/O problems but need to pinpoint the application thats hogging bandwidth! While RAM and CPU get cheaper and cheaper, good I/O subsystems have their price -- and are often heavily taxed in data-intensive applications.
By default iotop refreshes every second, which is a bit too jittery for my tastes. Use the -d secs switch to set a custom refresh interval. The -o switch tells iotop to only display those processes actually doing I/O; hitting 'o' while running iotop has the same effect.
If you want to log the output of iotop or use it in a script, iotop supports '-b' for "batch mode" much in the same way as top does.
Many Linux distributions package iotop, ie. its just an "apt-get install iotop" or "yum install iotop" away.