Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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

I'm not asking how to find out where a bottleneck is. I just what to know how to check if the harddrive is being used at its limit (and hence causing a bottleneck).

Something like top where I can see a usage percentage of CPU and RAM.
Is there something like that with which I can monitor harddrive activity?

Native linux tools preferred.

share|improve this question
up vote 13 down vote accepted

Take a look at:

share|improve this answer
do you know any program that i can run and it will record system responsiveness and levels performance of ram, gpu, cpu, hard drive, network so i can see where bottleneck is later on. If i see that at 2:30 pm my computer was slow and i see ram was at full use whereas cpu, gpu, and hard drive speed were lower than their maximum use. – Muhammad Umer May 17 '15 at 18:38
Personally, I like collecting metrics and using historical graphing tools. Cacti's an example but there are plenty of others between graphite, statsd, and so forth. sar is a utility that might help you with what you need, @MuhammadUmer – Warner Oct 20 '15 at 3:12

You want the sysstat utilities: iostat and sar are what you'll find most useful, I think.

iostat will give you current stats. sar will grab and store and show you historical stats.

Also possibly useful is iotop, which is like iostat but ties things to PIDs. It's newer though, and I don't know as much about it.

share|improve this answer

You already mentioned top. It's useful enough to give you a simple realtime figure.

Check the %wa counter on the CPU line near the top of the screen. It tells you the percentage of time the CPU currently spends waiting on I/O. This should be close to zero.

share|improve this answer

I'm a huge fan of iostat for watching disk activity on the console. You'll be able to see the IOPs being service by the drive, throughput, it's utilization %, request wait time and more. If you are seeing high wait, service and utilization that'll be the give away.

share|improve this answer

Another tool that will allow you to see disk activity (among other things) on Linux (or AIX) is nmon. It will display either a table or a bar graph and shows both per-partition and per-device data.

share|improve this answer
+1 I didn't know nmon. Nice! – Marco Ramos May 28 '10 at 1:18

sar is the answer. Its gathers statics on queue length, request response time, etc. You can run it interactively, or even better run it in the background and analyze the data later.

share|improve this answer

iostat (or nmon which also displays the same stats in a different format) is good to get a system level diagnostic there are other tools which are more fine grained if you need it. I was recently introduced to blktrace/blkparse which came with the OS and will record and strace like level of detail about every IO request from every part of the system. You can record number and size of IO requests per process, including kernel processes like swap and filesystem journaling, as well as latency.

share|improve this answer

personally I find sar and iostat too verbose to be of value to me. they take multiple lines out output and are very difficult to view (my opinion). try collectl! same data and more, but much easier to read the output. -mark

share|improve this answer

Your Answer


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

Not the answer you're looking for? Browse other questions tagged or ask your own question.