Performance monitoring on Linux/Unix
- by ervingsb
I run a few Windows servers and (Debian and Ubuntu) Linux and AIX servers.
I would like to continously monitor performance on these systems in order to easily identify bottlenecks as well as to have an overview of the general activity on the servers.
On Windows, I use Windows Performance Monitor (perfmon) for this. I set up these counters:
For bottlenecks:
Processor utilization : System\Processor Queue Length
Memory utilization : Memory\Pages Input/Sec
Disk Utilization : PhysicalDisk\Current Disk Queue Length\driveletter
Network problems: Network Interface\Output Queue Length\nic name
For general activity:
Processor utilization : Processor\% Processor Time_Total
Memory utilization : Process\Working Set_Total (or per specific process)
Memory utilization : Memory\Available MBytes
Disk Utilization : PhysicalDisk\Bytes/sec_Total (or per process)
Network Utilization : Network Interface\Bytes Total/Sec\nic name
(More information on the choice of these counters on: http://itcookbook.net/blog/windows-perfmon-top-ten-counters )
This works really well. It allows me to look in one place and identify most common bottlenecks.
So my question is, how can I do something equivalent (or just very similar) on Linux servers?
I have looked a bit on nmon (http://www.ibm.com/developerworks/aix/library/au-analyze_aix/) which is a free performance monitoring tool developed for AIX but also availble for Linux.
However, I am not sure if nmon allows me to set up the above counters. Maybe it is because Linux and AIX does not allow monitoring these exact same measures. Is so, which ones should I choose and why?
If nmon is not the tool to use for this, then what do you recommend?