Linux Performance Tools To Troubleshoot Problems

by on July 6, 2006 · 9 comments· LAST UPDATED January 13, 2009

in , ,

Q. I am new to Linux. What tools or commands are recommended to troubleshoot performance related problems?

A. Following are the basic or essential tools that every Linux or UNIX system admin should be aware of:

a) top
b) sar
c) vmstat
d) iostat
e) free

top command

The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux kernel. Type the top command:
$ top

sar command

The sar command is performance monitoring tool. It can find out what Linux is doing all the time. It can generate report and email them to sys admin. In order to use sar you need to install sysstat package. sar displays performance data for:

  • CPU and Queue,
  • Disk I/O
  • Swap and Memory
  • CPU interrupts, Networking and much more

vmstat command

vmstat reports information about processes, memory, paging, block IO, traps, and cpu activity. See the detailed article "How do I find out Linux Resource utilization to detect system bottlenecks?"

iostat command

The iostat command is used for monitoring system input/output device loading by observing the time the devices are active in relation to their average transfer rates i.e. it is useful to monitor disk throughput. See the detailed article: "How do I find out Linux CPU utilization?"

free command

The free command displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel. See the detailed article: "Linux check memory usage"

Read the man pages of all of these tools. Always remember, you need to spend some time using these tools, and then only you will be able to understand the output of these commands.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 9 comments… read them below or add one }

1 Anonymous July 6, 2006 at 8:25 pm

cool stuff

Reply

2 Anonymous July 11, 2006 at 4:54 am

usefull, nice.

Reply

3 Mark Seger December 8, 2007 at 1:11 am

one link does it all! check out http://collectl.sourceforge.net/ for all your performance monitoring needs.
-mark

Reply

4 Chiron613 January 15, 2009 at 11:47 pm

Hmm… many of these worked, except for sar. It keeps telling me:

Cannot open /var/log/sysstat/sa15: No such file or directory

I wonder what the problem is.

However, some of those other utilities are new to me. It’s nice to learn of them.

Reply

5 Matt March 3, 2009 at 10:58 pm

These tools seem to be find for looking at the overall performance of a server, but is there a tool that can be used to see specifically at a certain process and measure the impact of that process on the system?

Reply

6 Ram March 16, 2009 at 10:53 am

sar 1 5

Reply

7 ajay malhotra February 22, 2010 at 7:51 pm

I had the same problem with $ sar. On a CentOS box, install sysstat using $ yum install sysstat if you are missing sar altogether. Then let it run a couple of cron jobs (sa1 and sa2 – sa1 runs every 10 mins, sa2 runs close to midnight). If you can’t wait till midnight then run $ /usr/lib64/sa/sa2 -A but be prepared to see limited information

Reply

8 kanth September 6, 2010 at 5:36 am

Q. Lets say you have a remote machine on which your server application runs. The remote server is linux based. Mention what all steps you would do to IDENTIFY and SOLVE each of the following two problems:
1. The server is not reachable
2. The server is running slow

Reply

9 John Wicks February 29, 2012 at 11:05 pm

Found a cool little ruby script that can be used to send a HTML email of these stats from your server via cron. https://raw.github.com/watsonian/server-status-report/master/status.rb

You can read about setting it up here: http://wiki.dreamhost.com/PS_Server_Status_Script

My problem was that our VPS was showing intermittent memory issues. The hosting company automatically reboots the server but doesn’t provide any stats on what might be causing the problem. Logging in after the server is rebooted and not having sar access, left you with no way to tell what was causing the problem. Logging all the output of the above commands in a cron job just didn’t sound right to me. So I thought I’d try this ruby script.

Setup a little cron job and Bam, we have stats…

Jw

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: