CertCities.com -- The Ultimate Site for Certified IT Professionals
Listen, See, Win! Register for a Free Tech Library Webcast Share share | bookmark | e-mail
  Microsoft®
  Cisco®
  Security
  Oracle®
  A+/Network+"
  Linux/Unix
  More Certs
  Newsletters
  Salary Surveys
  Forums
  News
  Exam Reviews
  Tips
  Columns
  Features
  PopQuiz
  RSS Feeds
  Press Releases
  Contributors
  About Us
  Search
 

Advanced Search
  Free Newsletter
  Sign-up for the #1 Weekly IT
Certification News
and Advice.
Subscribe to CertCities.com Free Weekly E-mail Newsletter
CertCities.com

See What's New on
Redmondmag.com!

Cover Story: IE8: Behind the 8 Ball

Tech-Ed: Let's (Third) Party!

A Secure Leap into the Cloud

Windows Mobile's New Moves

SQL Speed Secrets


CertCities.com
Let us know what you
think! E-mail us at:



 
 
...Home ... Editorial ... Columns ..Column Story Friday: April 4, 2014


 Inside the Kernel  
Emmett Dulaney
Emmett Dulaney


 A System Monitoring Tool Primer
Here are a handful of helpful utilities for viewing and analyzing performance information for your Linux system.
by Emmett Dulaney  
3/11/2010 -- When you're the system administrator, you must keep an eye on how well your Linux system is performing by looking at information such as:

  • Central Processing Unit (CPU) usage
  • Physical memory usage
  • Virtual memory (swap-space) usage
  • Hard drive usage

Linux comes with a number of utilities that can be used to monitor one or more of these performance parameters. The following sections introduce a few of these utilities and show how to understand the information presented by them.

Using the Top Utility
To view the top CPU processes - the ones that use most of the CPU time - you can use the text mode top utility. To start that utility, type top in a terminal window (or text console). The top utility then displays a text screen listing the current processes arranged in the order of CPU usage, along with various other information, such as memory and swap-space usage. The top utility updates the display every five seconds. If you keep top running in a window, you can continually monitor the status of your Linux system. To quit top, press Q, Ctrl+C or close the terminal window.

The first five lines of the output screen provide summary information about the system, arranged in the following order:

  • The first line shows the current time, how long the system has been up, how many users are logged in and three load averages  --  the average number of processes ready to run during the last 1, 5, and 15 minutes.
  • The second line lists the total number and status of processes.
  • The third line shows CPU usage -- what percentage of CPU time is used by user processes, what percentage by system (kernel) processes, and during what percentage of time the CPU is idle.
  • The fourth line shows how the physical memory is being used -- the total amount, how much is used, how much is free and how much is allocated to buffers (for example, readings from the hard drive).
  • The fifth line shows how the virtual memory (or swap space) is being used -- the total amount of swap space, how much is used, how much is free, and how much is being cached.

The table that appears below lists information about the current processes, arranged in decreasing order by amount of CPU time used. It also summarizes the meanings of the column headings in the table the top displays.
Meanings of Column Headings in top Utility's Output


Heading

Meaning

PID

The process ID of the process

USER

Username of the running process

PR

Priority of the process

NI

Nice value of the process - the value ranges from -20 (highest priority) to 19 (lowest priority) and the default is 0. (The nice value represents the relative priority of the process. The higher the value the lower the priority and the nicer the process - because it yields to other processes)

VIRT

The total amount  (in kilobytes) of virtual memory used by the process

RES

Total physical memory used by a task (typically shown in kilobytes, with an m suffix indicating megabytes)

SHR

Amount of shared memory used by process

S

State of the process (S for sleeping, D for uninterruptible sleep, R for running, Z for zombies  -  processes that should be dead but are still running  -  or T for stopped)

%CPU

Percentage of CPU time used since last screen update

%MEM

Percentage of physical memory used by the process

TIME+

Total CPU time the process has used since it started

COMMAND

Shortened form of the command that started the process

 

Using the Uptime Command
Use the uptime command to get a summary of the system's state by typing the following command:

uptime
It displays output similar to the following:

15:03:21 up 32 days, 57 min, 3 users, load average: 0.13, 0.23, 0.27
This output shows the current time, how long the system has been up, the number of users and (finally) the three load averages  --  the average number of processes that were ready to run in the past 1, 5, and 15 minutes. Load averages greater than 1 imply that many processes are competing for CPU time simultaneously.

The load averages give you an indication of how busy the system is.

Using the Vmstat Utility
Receive summary information about the overall system usage with the vmstat utility. To view system usage information averaged over 5-second intervals, type the following command (the second argument indicates the total number of lines of output vmstat displays):

vmstat 5 8
Output similar to the following listing will be displayed:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0  31324   4016  18568 136004    1    1    17    16    8   110 33  4 61  1
 0  1  31324   2520  15348 139692    0    0  7798   199 1157   377  8  8  6 78
 1  0  31324   1584  12936 141480    0   19  5784   105 1099   437 12  5  0 82
 2  0  31324   1928  13004 137136    7    0  1586   138 1104   561 43  6  0 51
 3  1  31324   1484  13148 132064    0    0  1260    51 1080   427 50  5  0 46
 0  0  31324   1804  13240 127976    0    0  1126    46 1082   782 19  5 47 30
 0  0  31324   1900  13240 127976    0    0     0     0 1010   211  3  1 96  0
 0  0  31324   1916  13248 127976    0    0     0    10 1015   224  3  2 95  0

The first line of output shows the averages since the last reboot. After that, vmstat displays the 5-second average data seven more times, covering the next 35 seconds. The tabular output is grouped as six categories of information, indicated by the fields in the first line of output. The second line shows further details for each of the six major fields. You can interpret these fields using the following table:

Meaning of Fields in the vmstat Utility's Output


Field Name

Description

procs

Number of processes and their types: r = processes waiting to run, b = processes in uninterruptible sleep, w = processes swapped out but ready to run

memory

Information about physical memory and swap-space usage (all numbers in kilobytes): swpd = virtual memory used, free = free physical memory, buff = memory used as buffers, cache = virtual memory that's cached

swap

Amount of swapping (the numbers are in kilobytes per second): si = amount of memory swapped in from disk, so = amount of memory swapped to disk

io

Information about input and output. (The numbers are in blocks per second where the block size depends on the disk device.) bi = rate of blocks sent to disk, bo = rate of blocks received from disk

system

Information about the system: in = number of interrupts per second (including clock interrupts), cs = number of context switches per second  - - how many times the kernel changed which process was running

cpu

Percentages of CPU time used: us = percentage of CPU time used by user processes, sy = percentage of CPU time used by system processes, id = percentage of time CPU is idle, wa = time spent waiting for input or output (I/O)

In the vmstat utility's output, high values in the si and so fields indicate too much swapping (the copying of information between physical memory and the virtual memory on the hard drive). High numbers in the bi and bo fields indicate too much disk activity.

Checking Disk Performance and Disk Usage
Linux comes with the /sbin/hdparm program that can be used to control IDE or ATAPI hard drives that are common on most PCs. One feature of the hdparm program is to use the -t option to determine the rate at which data is read from the disk into a buffer in memory. For example, here's the result of typing /sbin/hdparm -t /dev/hda on one system:
/dev/hda:
/dev/hda:
 Timing buffered disk reads: 178 MB in  3.03 seconds = 58.81 MB/sec
The command requires the IDE drive's device name (/dev/hda for the first hard drive and /dev/hdb for the second hard drive) as an argument. If you have an IDE hard drive, you can try this command to see how fast data is read from your system's disk drive.
To display the space available in the currently mounted file systems, use the df command. If you want a more readable output from df, type the following command:
df -h
Here's a typical output from this command:
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5             7.1G  3.9G  2.9G  59% /
/dev/hda3              99M   18M   77M  19% /boot
none                  125M     0  125M   0% /dev/shm
/dev/scd0             2.6G  2.6G     0 100% /media/cdrecorder
As As this example shows, the -h option causes the df command to show the sizes in gigabytes (G) and megabytes (M).

>To check the disk space being used by a specific directory, use the du command and specify the -h option to view the output in kilobytes (K) and megabytes (M), as shown in the following example:
du -h /var/log
Here's a typical output of that command:
152K    /var/log/cups
4.0K    /var/log/vbox
4.0K    /var/log/httpd
508K    /var/log/gdm
4.0K    /var/log/samba
8.0K    /var/log/mail
4.0K    /var/log/news/OLD
8.0K    /var/log/news
4.0K    /var/log/squid
2.2M    /var/log
The du command displays the disk space used by each directory, and the last line shows the total disk space used by that directory. If you want to see only the total space used by a directory, use the -s option. For example, type du -sh /home to see the space used by the /home directory. The command produces an output that looks like this:
89M     /home

Emmett Dulaney is the author of several books on Linux, Unix and certification. He can be reached at .

 


More articles by Emmett Dulaney:

-- advertisement --


There are 18 CertCities.com user Comments for “A System Monitoring Tool Primer”
Page 1 of 2
3/14/10: JohnP says: I guess those things are find for noobs, but monitoring at an individual server level "live" is too much work. Issues rarely happen while we are watching them. They happened yesterday or last night. It isn't much work to setup SysUsage http://freshmeat.net/projects/sysusage/ (or similar) to create historical monitoring/performance data. The defaults are fine to get started, but you can add more monitors easily. The only downside with SysUsage is that it isn't part of my chosen server repositories. Only tgz is provided.
3/25/10: Alan says: Thanks Emmett for this info. I always like to know how to do these sort of things manually before relying on automation to do it for me.
6/30/13: louis vuitton outlet online from [email protected] says: ths louis vuitton outlet online http://www.louisvuittonttoutlet.com
7/1/13: michael kors outlet store from [email protected] says: ths michael kors outlet store http://www.michaelkorsioutlet.org/
7/5/13: gucci outlet from [email protected] says: ths gucci outlet http://www.guccioutletstore-online.com
7/5/13: louboutin outlet from [email protected] says: ths louboutin outlet http://www.christianlouboutinoutleta.com
7/25/13: cheap sunglasses from [email protected] says: thank you for share! cheap sunglasses http://www.cheap-sunglass.net/
8/30/13: american football shirts from [email protected] says: nice articles american football shirts http://www.americanfootballlshop.com
9/4/13: moncler sale from [email protected] says: thank you for share! moncler sale http://www.moncleresale.org
12/16/13: louis vuitton from [email protected] says: 500 former NFL players agreed to a settlement over concussion-related lawsuits that could have financially crippled the league.More than 4Right before Labor Day done (a charge the Jackson campaign hotly disputes).s fourth go-round as billionaire playboy Tony Stark/Iron Man (including "The Avengers") adds to the franchises millions, And capping the year in superheroes will be Disney/Marvels "Thor: The Dark World" (Nov.Brek Shea,Since 2010.I think.com, After he went 3 for 6 last night, "When you're going good, killed, to a lesser extent his JLA run captures the essence of the character. on the 50th anniversary of perhaps the greatest American speech since Lincoln breathed his last is a speechwriters nightmare It is comparable to crafting Memorial Day remarks for delivery at Gettysburg or coming up with a new angle for a speech at Pointe du Hoc The historical stage is already fully occupied It is like lighting a bonfire on the surface of the sunThe Rev Martin Luther Kings was not only an example of skilled rhetoric; it was also a moment of culmination It was the culmination of a literary form: African American preaching practiced by four generations of the King family with its weaving of the King James cadences folk spirituals and patriotic texts It was the culmination of Americas defining historical struggle: a century of African American demands for the fulfillment of national promises made at emancipation betrayed during Reconstruction and mocked by segregation And it was the culmination of a distinctly American type of leadership: the revolutionary conservative The speech managed to be both radical and reassuring demanding freedom now precisely because our founding ideals admitted no other course
First Page   Next Page   Last Page
Your comment about: “A System Monitoring Tool Primer”
Name: (optional)
Location: (optional)
E-mail Address: (optional)
Comment:
   

-- advertisement (story continued below) --

top