30 Linux System Monitoring Tools Every SysAdmin Should Know

Need to monitor Linux server performance? Try these built-in commands and a few add-on tools. Most distributions come with tons of Linux monitoring tools. These tools provide metrics which can be used to get information about system activities. You can use these tools to find the possible causes of a performance problem. The commands discussed below are some of the most fundamental commands when it comes to system analysis and debugging Linux server issues such as:

  1. Finding out system bottlenecks
  2. Disk (storage) bottlenecks
  3. CPU and memory bottlenecks
  4. Network bottleneck.

1. top – Process activity monitoring command

top command display Linux processes. It provides a dynamic real-time view of a running system i.e. actual process activity. By default, it displays the most CPU-intensive tasks running on the server and updates the list every five seconds.

Fig.01: Linux top command

Commonly Used Hot Keys With top Linux monitoring tools

Here is a list of useful hot keys:

Hot Key Usage
t Displays summary information off and on.
m Displays memory information off and on.
A Sorts the display by top consumers of various system resources. Useful for quick identification of performance-hungry tasks on a system.
f Enters an interactive configuration screen for top. Helpful for setting up top for a specific task.
o Enables you to interactively select the ordering within top.
r Issues renice command.
k Issues kill command.
z Turn on or off color/mono

How do I Find Out Linux CPU Utilization?

2. vmstat – Virtual memory statistics

The vmstat command reports information about processes, memory, paging, block IO, traps, and cpu activity.
# vmstat 3
Sample Outputs:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 2540988 522188 5130400    0    0     2    32    4    2  4  1 96  0  0
 1  0      0 2540988 522188 5130400    0    0     0   720 1199  665  1  0 99  0  0
 0  0      0 2540956 522188 5130400    0    0     0     0 1151 1569  4  1 95  0  0
 0  0      0 2540956 522188 5130500    0    0     0     6 1117  439  1  0 99  0  0
 0  0      0 2540940 522188 5130512    0    0     0   536 1189  932  1  0 98  0  0
 0  0      0 2538444 522188 5130588    0    0     0     0 1187 1417  4  1 96  0  0
 0  0      0 2490060 522188 5130640    0    0     0    18 1253 1123  5  1 94  0  0

Display Memory Utilization Slabinfo

# vmstat -m

Get Information About Active / Inactive Memory Pages

# vmstat -a
How do I find out Linux Resource utilization to detect system bottlenecks?

3. w – Find out who is logged on and what they are doing

w command displays information about the users currently on the machine, and their processes.
# w username
# w vivek

Sample Outputs:
 17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0       14:55    5.00s  0.04s  0.02s vim /etc/resolv.conf
root     pts/1       17:43    0.00s  0.03s  0.00s w

4. uptime – Tell how long the Linux system has been running

uptime command can be used to see how long the server has been running. The current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.
# uptime
 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00

1 can be considered as optimal load value. The load can change from system to system. For a single CPU system 1 – 3 and SMP systems 6-10 load value might be acceptable.

5. ps – Displays the Linux processes

ps command will report a snapshot of the current processes. To select all processes use the -A or -e option:
# ps -A
Sample Outputs:
  PID TTY          TIME CMD
    1 ?        00:00:02 init
    2 ?        00:00:02 migration/0
    3 ?        00:00:01 ksoftirqd/0
    4 ?        00:00:00 watchdog/0
    5 ?        00:00:00 migration/1
    6 ?        00:00:15 ksoftirqd/1
 4881 ?        00:53:28 java
 4885 tty1     00:00:00 mingetty
 4886 tty2     00:00:00 mingetty
 4887 tty3     00:00:00 mingetty
 4888 tty4     00:00:00 mingetty
 4891 tty5     00:00:00 mingetty
 4892 tty6     00:00:00 mingetty
 4893 ttyS1    00:00:00 agetty
12853 ?        00:00:00 cifsoplockd
12854 ?        00:00:00 cifsdnotifyd
14231 ?        00:10:34 lighttpd
14232 ?        00:00:00 php-cgi
54981 pts/0    00:00:00 vim
55465 ?        00:00:00 php-cgi
55546 ?        00:00:00 bind9-snmp-stat
55704 pts/1    00:00:00 ps

ps is just like top but provides more information.

Show Long Format Output

# ps -Al
To turn on extra full mode (it will show command line arguments passed to process):
# ps -AlF

Display Threads ( LWP and NLWP)

# ps -AlFH

Watch Threads After Processes

# ps -AlLm

Print All Process On The Server

# ps ax
# ps axu

Want To Print A Process Tree?

# ps -ejH
# ps axjf
# pstree

Get Security Information of Linux Process

# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM

Let Us Print Every Process Running As User Vivek

# ps -U vivek -u vivek u

Configure ps Command Output In a User-Defined Format

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan

Try To Display Only The Process IDs of Lighttpd

# ps -C lighttpd -o pid=
# pgrep lighttpd
# pgrep -u vivek php-cgi

Print The Name of PID 55977

# ps -p 55977 -o comm=

Top 10 Memory Consuming Process

# ps -auxf | sort -nr -k 4 | head -10

Show Us Top 10 CPU Consuming Process

# ps -auxf | sort -nr -k 3 | head -10
Show All Running Processes in Linux

6. free – Show Linux server memory usage

free command shows the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.
# free
Sample Output:
            total       used       free     shared    buffers     cached
Mem:      12302896    9739664    2563232          0     523124    5154740
-/+ buffers/cache:    4061800    8241096
Swap:      1052248          0    1052248
  1. Linux Find Out Virtual Memory PAGESIZE
  2. Linux Limit CPU Usage Per Process
  3. How much RAM does my Ubuntu / Fedora Linux desktop PC have?

7. iostat – Montor Linux average CPU load and disk activity

iostat command report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).
# iostat
Sample Outputs:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 	06/26/2009

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.50    0.09    0.51    0.03    0.00   95.86

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              22.04        31.88       512.03   16193351  260102868
sda1              0.00         0.00         0.00       2166        180
sda2             22.04        31.87       512.03   16189010  260102688
sda3              0.00         0.00         0.00       1615          0

Linux Track NFS Directory / Disk I/O Stats

8. sar – Monitor, collect and report Linux system activity

sar command used to collect, report, and save system activity information. To see network counter, enter:
# sar -n DEV | more
The network counters from the 24th:
# sar -n DEV -f /var/log/sa/sa24 | more
You can also display real time usage using sar:
# sar 4 5
Sample Outputs:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 		06/26/2009

06:45:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
06:45:16 PM       all      2.00      0.00      0.22      0.00      0.00     97.78
06:45:20 PM       all      2.07      0.00      0.38      0.03      0.00     97.52
06:45:24 PM       all      0.94      0.00      0.28      0.00      0.00     98.78
06:45:28 PM       all      1.56      0.00      0.22      0.00      0.00     98.22
06:45:32 PM       all      3.53      0.00      0.25      0.03      0.00     96.19
Average:          all      2.02      0.00      0.27      0.01      0.00     97.70

9. mpstat – Monitor multiprocessor usage on Linux

mpstat command displays activities for each available processor, processor 0 being the first one. mpstat -P ALL to display average CPU utilization per processor:
# mpstat -P ALL
Sample Output:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)	 	06/26/2009

06:48:11 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
06:48:11 PM  all    3.50    0.09    0.34    0.03    0.01    0.17    0.00   95.86   1218.04
06:48:11 PM    0    3.44    0.08    0.31    0.02    0.00    0.12    0.00   96.04   1000.31
06:48:11 PM    1    3.10    0.08    0.32    0.09    0.02    0.11    0.00   96.28     34.93
06:48:11 PM    2    4.16    0.11    0.36    0.02    0.00    0.11    0.00   95.25      0.00
06:48:11 PM    3    3.77    0.11    0.38    0.03    0.01    0.24    0.00   95.46     44.80
06:48:11 PM    4    2.96    0.07    0.29    0.04    0.02    0.10    0.00   96.52     25.91
06:48:11 PM    5    3.26    0.08    0.28    0.03    0.01    0.10    0.00   96.23     14.98
06:48:11 PM    6    4.00    0.10    0.34    0.01    0.00    0.13    0.00   95.42      3.75
06:48:11 PM    7    3.30    0.11    0.39    0.03    0.01    0.46    0.00   95.69     76.89

Linux display each multiple SMP CPU processors utilization individually.

10. pmap – Montor process memory usage on Linux

pmap command report memory map of a process. Use this command to find out causes of memory bottlenecks.
# pmap -d PID
To display process memory information for pid # 47394, enter:
# pmap -d 47394
Sample Outputs:
47394:   /usr/bin/php-cgi
Address           Kbytes Mode  Offset           Device    Mapping
0000000000400000    2584 r-x-- 0000000000000000 008:00002 php-cgi
0000000000886000     140 rw--- 0000000000286000 008:00002 php-cgi
00000000008a9000      52 rw--- 00000000008a9000 000:00000   [ anon ]
0000000000aa8000      76 rw--- 00000000002a8000 008:00002 php-cgi
000000000f678000    1980 rw--- 000000000f678000 000:00000   [ anon ]
000000314a600000     112 r-x-- 0000000000000000 008:00002 ld-2.5.so
000000314a81b000       4 r---- 000000000001b000 008:00002 ld-2.5.so
000000314a81c000       4 rw--- 000000000001c000 008:00002 ld-2.5.so
000000314aa00000    1328 r-x-- 0000000000000000 008:00002 libc-2.5.so
000000314ab4c000    2048 ----- 000000000014c000 008:00002 libc-2.5.so
00002af8d48fd000       4 rw--- 0000000000006000 008:00002 xsl.so
00002af8d490c000      40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so
00002af8d4916000    2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b15000       4 r---- 0000000000009000 008:00002 libnss_files-2.5.so
00002af8d4b16000       4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b17000  768000 rw-s- 0000000000000000 000:00009 zero (deleted)
00007fffc95fe000      84 rw--- 00007ffffffea000 000:00000   [ stack ]
ffffffffff600000    8192 ----- 0000000000000000 000:00000   [ anon ]
mapped: 933712K    writeable/private: 4304K    shared: 768000K

The last line is very important:

  • mapped: 933712K total amount of memory mapped to files
  • writeable/private: 4304K the amount of private address space
  • shared: 768000K the amount of address space this process is sharing with others

Linux find the memory used by a program / process using pmap command

11. netstat – Linux network and statistics monitoring tool

netstat command displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
# netstat -tulpn
# netstat -nat

12. ss – Network Statistics

ss command use to dump socket statistics. It allows showing information similar to netstat. Please note that the netstat is mostly obsolete. Hence you need to use ss command. To ss all TCP and UDP sockets on Linux:
# ss -t -a
# ss -u -a
Show all TCP sockets with process SELinux security contexts:
# ss -t -a -Z
See the following resources about ss and netstat commands:

13. iptraf – Get real-time network statistics on Linux

iptraf command is interactive colorful IP LAN monitor. It is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others. It can provide the following info in easy to read format:
  • Network traffic statistics by TCP connection
  • IP traffic statistics by network interface
  • Network traffic statistics by protocol
  • Network traffic statistics by TCP/UDP port and by packet size
  • Network traffic statistics by Layer2 address

Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.03 Network traffic statistics by TCP connection

Install IPTraf on a Centos / RHEL / Fedora Linux To Get Network Statistics

14. tcpdump – Detailed network traffic analysis

tcpdump command is simple command that dump traffic on a network. However, you need good understanding of TCP/IP protocol to utilize this tool. For.e.g to display traffic info about DNS, enter:
# tcpdump -i eth1 'udp port 53'
View all IPv4 HTTP packets to and from port 80, i.e. print only packets that contain data, not, for example, SYN and FIN packets and ACK-only packets, enter:
# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Show all FTP session to, enter:
# tcpdump -i eth1 'dst and (port 21 or 20'
Print all HTTP session to
# tcpdump -ni eth0 'dst and tcp and port http'
Use wireshark to view detailed information about files, enter:
# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

15. iotop – Linux I/O monitor

iotop command monitor, I/O usage information, using the Linux kernel. It shows a table of current I/O usage sorted by processes or threads on the server.
$ sudo iotop
Sample outputs:

Linux iotop: Check What’s Stressing And Increasing Load On Your Hard Disks

16. htop – interactive process viewer

htop is a free and open source ncurses-based process viewer for Linux. It is much better than top command. Very easy to use. You can select processes for killing or renicing without using their PIDs or leaving htop interface.
$ htop
Sample outputs:

17. atop – Advanced Linux system & process monitor

atop is a very powerful and an interactive monitor to view the load on a Linux system. It displays the most critical hardware resources from a performance point of view. You can quickly see CPU, memory, disk and network performance. It shows which processes are responsible for the indicated load concerning CPU and memory load on a process level.
$ atop

18. ac and lastcomm –

You must monitor process and login activity on your Linux server. The psacct or acct package contains several utilities for monitoring process activities, including:

  1. ac command : Show statistics about users’ connect time
  2. lastcomm command : Show info about about previously executed commands
  3. accton command : Turns process accounting on or off
  4. sa command : Summarizes accounting information

How to keep a detailed audit trail of what’s being done on your Linux systems

19. monit – Process supervision

Monit is a free and open source software that acts as process supervision. It comes with the ability to restart services which have failed. You can use Systemd, daemontools or any other such tool for the same purpose. This tutorial shows how to install and configure monit as Process supervision on Debian or Ubuntu Linux.

20. nethogs- Find out PIDs that using most bandwidth on Linux

NetHogs is a small but handy net top tool. It groups bandwidth by process name such as Firefox, wget and so on. If there is a sudden burst of network traffic, start NetHogs. You will see which PID is causing bandwidth surge.
$ sudo nethogs

Linux: See Bandwidth Usage Per Process With Nethogs Tool

21. iftop – Show bandwidth usage on an interface by host

iftop command listens to network traffic on a given interface name such as eth0. It displays a table of current bandwidth usage by pairs of hosts.
$ sudo iftop

22. vnstat – A console-based network traffic monitor

vnstat is easy to use console-based network traffic monitor for Linux. It keeps a log of hourly, daily and monthly network traffic for the selected interface(s).
$ vnstat

23. nmon – Linux systems administrator, tuner, benchmark tool

nmon is a Linux sysadmin’s ultimate tool for the tunning purpose. It can show CPU, memory, network, disks, file systems, NFS, top process resources and partition information from the cli.
$ nmon

Install and Use nmon Tool To Monitor Linux Systems Performance

24. glances – Keep an eye on Linux system

glances is an open source cross-platform monitoring tool. It provides tons of information on the small screen. It can also work in client/server mode.
$ glances

Linux: Keep An Eye On Your System With Glances Monitor

25. strace – Monitor system calls on Linux

Want to trace Linux system calls and signals? Try strace command. This is useful for debugging webserver and other server problems. See how to use to trace the process and see What it is doing.

26. /proc/ file system – Various Linux kernel statistics

/proc file system provides detailed information about various hardware devices and other Linux kernel information. See Linux kernel /proc documentations for further details. Common /proc examples:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts

27. Nagios – Linux server/network monitoring

Nagios is a popular open source computer system and network monitoring application software. You can easily monitor all your hosts, network equipment and services. It can send alert when things go wrong and again when they get better. FAN is “Fully Automated Nagios”. FAN goals are to provide a Nagios installation including most tools provided by the Nagios Community. FAN provides a CDRom image in the standard ISO format, making it easy to easilly install a Nagios server. Added to this, a wide bunch of tools are including to the distribution, in order to improve the user experience around Nagios.

28. Cacti – Web-based Linux monitoring tool

Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. It can provide data about network, CPU, memory, logged in users, Apache, DNS servers and much more. See how to install and configure Cacti network graphing tool under CentOS / RHEL.

29. KDE System Guard – Real-time Linux systems reporting and graphing

KSysguard is a network enabled task and system monitor application for KDE desktop. This tool can be run over ssh session. It provides lots of features such as a client/server architecture that enables monitoring of local and remote hosts. The graphical front end uses so-called sensors to retrieve the information it displays. A sensor can return simple values or more complex information like tables. For each type of information, one or more displays are provided. Displays are organized in worksheets that can be saved and loaded independently from each other. So, KSysguard is not only a simple task manager but also a very powerful tool to control large server farms.

Fig.05 KDE System Guard {Image credit: Wikipedia}

See the KSysguard handbook for detailed usage.

30. Gnome Linux system monitor

The System Monitor application enables you to display basic system information and monitor system processes, usage of system resources, and file systems. You can also use System Monitor to modify the behavior of your system. Although not as powerful as the KDE System Guard, it provides the basic information which may be useful for new users:

  • Displays various basic information about the computer’s hardware and software.
  • Linux Kernel version
  • GNOME version
  • Hardware
  • Installed memory
  • Processors and speeds
  • System Status
  • Currently available disk space
  • Processes
  • Memory and swap space
  • Network usage
  • File Systems
  • Lists all mounted filesystems along with basic information about each.

Fig.06 The Gnome System Monitor application

Bonus: Additional Tools

A few more tools:

  • nmap – scan your server for open ports.
  • lsof – list open files, network connections and much more.
  • ntop web based tool – ntop is the best tool to see network usage in a way similar to what top command does for processes i.e. it is network traffic monitoring software. You can see network status, protocol wise distribution of traffic for UDP, TCP, DNS, HTTP and other protocols.
  • Conky – Another good monitoring tool for the X Window System. It is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes etc.
  • GKrellM – It can be used to monitor the status of CPUs, main memory, hard disks, network interfaces, local and remote mailboxes, and many other things.
  • mtr – mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.
  • vtop – graphical terminal activity monitor on Linux
  • gtop – Awesome system monitoring dashboard for Linux/macOS Unix terminal

Did I miss something? Please add your favorite system motoring tool in the comments.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 355 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
355 comments… add one
  • VonSkippy Jun 27, 2009 @ 5:10

    Pretty much common knowledge (or should be) but handy to have listed all in one place.

    • Jim (JR) Mar 21, 2011 @ 3:30

      Pretty much common knowledge. . . .

      Yea, right!
      I’ve been around the block two or three times – and a number of these are familiar to me – but some of the ways they’re used here were not. Also a fair number of these were absolutely brand-new – and they look damned useful!

      I am so going to book-mark this page it isn’t funny! It’s likely that I will want to spread this URL around like the Flu as well. . . . 😀

      *GREAT* list – for those of us who are mere mortals. . . .

      Jim (JR)

    • Steve Aug 3, 2011 @ 7:28

      For someone with the common knowledge, why would this be handy? I mean, if you already know/use these, then why would you need a page detailing them?

      • Mike Williams Aug 15, 2011 @ 22:35

        Because a lot of us have to live with faulty memory modules, Steve.
        I do agree with you too.:This knowledge isn’t that common outside the comic book fraternity.

      • farseas Jan 8, 2013 @ 17:29

        If you did a lot of sysadmin you would already know the answer to that question.

  • robb Jun 27, 2009 @ 8:29

    yeap most of them are must-have tools.
    good job of collecting them in a post.

  • Chris Jun 27, 2009 @ 8:37

    Nice list. For systems with just a few nodes I recommend Munin. It’s easy to install and configure. My favorite tool for monitoring a linux cluster is Ganglia.

    P.S. I think you should change this “#2: vmstat – Network traffic statistics by TCP connection …”

  • ftaurino Jun 27, 2009 @ 9:09

    another useful tool is dstat , which combines vmstat, iostat, ifstat, netstat information and more. but this is a very useful list with some interesting examples!

  • James Jun 27, 2009 @ 9:23

    pocess or process. haha, i love typos

    • Sohrab Khan Mar 15, 2011 @ 9:09

      Dear i am learning the Linux pl z help me, I you have any useful notes pl z sent it to my E-mail.


      • vasu Mar 21, 2011 @ 5:43

        In my system booting time it showing error fsck is fails. plz login as root…….– how to repair or check linux os using fsck command plz help me

        • darkdragn May 31, 2011 @ 7:14

          Most of the time that happens if the fsck operation requires human interaction, which the boot fsck doesn’t have. Just restart it, if you don’t normally get a grub delay the hold down the shift key to get one, if you do then just select recovery mode, or single user mode, it depends on your distro. It’s the same thing in all, just tripping single user mode with a kernel arg, but it will let you boot, and run fsck on unmounted partitions. If it is your root partition, you may need to boot from an external medium, unless you have a kick ass initrd, lol.

  • Artur Jun 27, 2009 @ 9:40

    What about Munin ? Lots easier and lighter than Cacti.

    • nig belamp Dec 7, 2010 @ 16:21

      How can you even compare munin to cacti…stfu your a tool.

      • PC4N6 Apr 20, 2011 @ 19:53

        Uhm, geez, this isn’t blogspot. Head over there if you have an uncontrollable need to flame people above your level of understanding…

      • RB-211 May 13, 2011 @ 12:57

        Wow, that was a bit harsh.

      • grammer nazi Jul 24, 2011 @ 13:54

        it is you’re – you are a tool. Please when randomly slamming someones post to feel better about yourself, at least you proper grammer. Then at least you sound like an intelligent a55h0le. 😛

        • Jeff Aug 9, 2011 @ 18:07

          Sarcastic pro’s, N00bs, flaming, harsh language, grammar nazis. All we need now is a Hitler comparison and we have the full set. Who’s up for a ban?

          Also: before stuff can become common knowledge you’ll first have to encounter it at least once. Like here in this nice list. Thanks for sharing!

          • David Aug 25, 2011 @ 15:05

            A ban? Censorship! You Nazi!

        • Roberto Sep 9, 2011 @ 18:08

          That’s “grammar”, unless you’re talking about the actor who plays Frasier on Cheers. 😛

        • Fireman Oct 17, 2011 @ 23:39

          Let me go ahead and re-write your comment, grammer nazi. It seems you have quite a few errors.

          “It is ‘you’re–you are’ a tool. Please, when randomly slamming someone’s post to feel better about yourself, at least use proper grammar. Then, at least, you sound like an intelligent a55h0le.”

          In the future, I would recommend proof-reading your own posts before you arrogantly correct others. I counted at least six mistakes in your “correction.” Have a nice day! 🙂

          • flame on! Dec 4, 2011 @ 20:05

            Vivek does a great job, as usual. But, thanks for the laughs, guys!

  • Raj Jun 27, 2009 @ 10:13

    Nice list, worth bookmarking!

  • kaosmonk Jun 27, 2009 @ 10:53

    Once again, great article!!

  • Amr El-Sharnoby Jun 27, 2009 @ 11:07

    I can see that the best tool to monitor processes , CPU, memeory and disk bottleneck at once is atop …

    But the tool itself can cause a lot of trouble in heavily loaded servers and it enables process accounting and has a service running all the time …

    To use it efficiently on RHEL , CentOS;
    1- install rpmforge repo
    2- # yum install atop
    3- # killalll atop
    4- # chkconfig atop off
    5- # rm -rf /tmp/atop.d/ /var/log/atop/
    6- then don’t directly run “atop” command , but instead run it as follows;
    # ATOPACCT=” atop

    This tool has saved me hundreds of hours really! and helped me to diagnose bottlenecks and solve them that couldn’t otherwise be easily detected and would need many different tools

  • 🐧 nixCraft Jun 27, 2009 @ 13:01

    @Chris / James

    Thanks for the heads-up!

  • Solaris Jun 27, 2009 @ 13:26

    Great post, also great reference.

  • Cristiano Jun 27, 2009 @ 13:57

    You probably wanna add IFTOP tool, its really simple and light, very useful when u need to have a last moment remote access to a server to see hows the trific going.

  • Peko Jun 27, 2009 @ 15:40

    Yeah, well why a so good admin (I dig(g) your site) won’t you use spelling checkers?
    Typo #2 Web-based __Monitioring__ Tool

  • paul tergeist Jun 27, 2009 @ 16:17

    maybe it’s a typo too, but the title should be :
    “.. Tools Every SysAdmin MUST Know”
    and still, this is advanced user knowledge, at most. I would not trust a sysadmin that knows so few. And..

  • harrywwc Jun 27, 2009 @ 22:56

    Hi guys,

    good list – and some great submitted pointers to other useful tools.

    to those carp-ing on about typo’s – give us all a break. you’ve never made a typo? ever?

    Idea: How ’bout those who have never *ever* made an error in typing text be the first one(s) to give people grief about making a typo?

    I _used_ to be a real PITA about this; then I grew up.

    The purpose of this blog, and other forms of communication, is to *communicate* concepts and ideas. *If* you have received those clearly – in spite of the typos – then the purpose has been fulfilled.

    /me gets down off his soapbox


    • StygianAgenda Feb 28, 2011 @ 20:49

      I totally second that!
      WTF is up with people making such a big deal about spelling? I could understand if the complaints were in regards to a misspelling of a code-example, but if the language is coherent enough to get the idea across, then that’s all that really matters.

    • Lolcatz Apr 7, 2011 @ 22:54


      • roflcopter Jun 24, 2011 @ 13:57

        Typographical error*

  • Pádraig Brady Jun 27, 2009 @ 23:37

    A script I use often to show the real memory usage of programs on linux, is ps_mem.py

    I also summarised a few linux monitoring tools here

    I’d also mention the powertop utility

  • Saad Jun 27, 2009 @ 23:54

    This blog is more impressive and more useful than ever. I need more help regarding proper installation document on “php-network weathermap” on Cacti as plugins

  • Jack Jun 28, 2009 @ 2:18

    No love for whowatch ? Real time info on who’s logged in, how their connected (SSH, TTY, etc) and what process thay have running.


    • StygianAgenda Feb 28, 2011 @ 21:50

      I just became an instant fan of ‘whowatch’. Thanks!!! 😉

  • Ponzu Jun 28, 2009 @ 2:28

    vi — tool used to examine and modify almost any configuration file.

    • Manoj Apr 27, 2011 @ 9:28

      It is not a tool. It is an Editor

      • su - Jul 28, 2011 @ 21:30

        An editor is a tool for text documents.

  • Eric schulman Jun 28, 2009 @ 5:38

    dtrace is a notable mention for the picky hackers that wish to know more about the behavior of the operating system and it’s programs internals.

  • Ashok kumar Jun 28, 2009 @ 5:48

    hi gud information , keep it up


  • Enzo Jun 28, 2009 @ 6:09

    You missed: iftop & nethogs

  • Adrian Fita Jun 28, 2009 @ 7:09

    Excellent list. Like Amr El-Sharnoby above, I also find atop indispensable and think it must be installed on every system.

    In addition I would like to add iotop to monitor disk usage per process and jnettop to very easily monitor bandwidth allocation between connections on a Linux system.

  • Knightsream Jun 28, 2009 @ 8:53

    Well, the one i use right now is Pandora FMS 3.0 and its making my work easy.

  • praveen k Jun 28, 2009 @ 12:56

    I would like to add
    whoami ,who am i, finger, pinky , id commands

  • create own website Jun 28, 2009 @ 15:32

    i always love linux, great article

  • Mathieu Desnoyers Jun 28, 2009 @ 21:14

    One tool which seems to be missing from this list is LTTng. It is a system-wide tracing tool which helps understanding complex performance problems in multithreaded, multiprocess applications involving many userspace-kernel interactions.

    The project is available at http://www.lttng.org. Recent SuSE distributions, WindRiver, Monta Vista and STLinux offer the tracer as distribution packages. The standard way to use it is to install a patched kernel though. It comes with a trace analyzer, LTTV, which provides nice view of the overall system behavior.


  • Andy Leo Jun 29, 2009 @ 1:02

    Very useful, well done. Thanks!

  • Aveek Sen Jun 29, 2009 @ 1:29

    Very informative.

  • The Hulk Jun 29, 2009 @ 2:11

    I love this website.

  • kburger Jun 29, 2009 @ 3:08

    If we’re talking about a web server, apachetop is a nice tool to see Apache’s activity.

  • Ram Jun 29, 2009 @ 4:07

    Dude you forgot the most important of ALL!


    With it you can collect vast amounts of information. Then with snmpwalk and scripts you can create your own web NMS to collect simple information like ping, disk space, services down.

  • Kartik Mistry Jun 29, 2009 @ 5:15

    `iotop` is nice one to be include in list. I used `vnstat` very much for keeping track of my download when I was on limited connection 🙂

  • 🐧 nixCraft Jun 29, 2009 @ 7:03


    Thanks for sharing all your tools with us.

  • feilong Jun 29, 2009 @ 10:01

    Very useful, thinks for sharing.

    Take a look to a great tools called nmon. I use it on AIX IBM system but works now on all GNU/linux system now.

  • boz Jun 29, 2009 @ 10:21


  • Scyldinga Jun 29, 2009 @ 10:21

    I’m with @paul tergeist, tools every linux user should know. The ps samples are nice, thanks.

    No reference to configuration management tools ?


  • Ken McDonell Jun 29, 2009 @ 21:19

    Nice summary article.

    If your “system” is large and/or distributed, and the performance issues you’re tackling are complex, you may wish to explore Performance Co-Pilot (PCP). It unifies all of the performance data from the tools you’ve mentioned (and more), can be extended to include new applications and service layers, works across the network and for clusters and provides both real-time and retrospective analysis.

    See http://www.oss.sgi.com/projects/pcp

    PCP is included in the Debian-based and SUSE distributions and is likely to appear in the RH distributions in the future.

    As a bonus, PCP also works for monitoring non-Linux platforms (Windows and some of the Unix derivatives).

  • Lance Jun 30, 2009 @ 2:37

    I love your collection.

    I use about 25% of those regularly, and another 25% semi-regularly. I’ll have to add another 25% of those to my list of regulars.

    Thanks for compiling this list.

  • bogo Jun 30, 2009 @ 6:01

    Very nice collection of linux applications. I work with linux but I can’t say that i know them all.

  • MEHTA GHANSHYAM Jun 30, 2009 @ 9:28


  • fasil Jun 30, 2009 @ 12:06

    Good post…already bookmarked… cheers

  • Aleksey Tsalolikhin Jun 30, 2009 @ 19:30

    I’ll just mention “ngrep” – network grep.

    Great list, thanks!!


  • Abdul Kayyum Jul 1, 2009 @ 15:40

    Thanks for sharing this information..

  • Aurelio Jul 1, 2009 @ 20:20

    feilong, I agree. I use nmon on my linux boxes from years. It’s worth a look.

  • komradebob Jul 1, 2009 @ 22:36

    Great article, many great suggestions.

    Was surprised not to see these among the suggestions:

    bmon – graphs/tracks network activity/bandwidth real time.
    etherape – great visual indicator of what traffic is going where on the network
    wireshark – tcpdump on steroids.
    multitail – tail multiple files in a single terminal window
    swatch – track your log files and fire off alerts

  • pradeep Jul 2, 2009 @ 11:14

    how the hell i missed this site this many days… 😛 thank god i found it… 🙂 i love it…

  • Jay Jul 4, 2009 @ 17:23

    O personally much prefer htop to top. Displays everything very nicely.

    phpsysinfo is another nice light web-based monitoring tool. Very easy to setup and use.

  • Manuel Fraga Jul 5, 2009 @ 16:55

    Osmius: The Open Source Monitoring Tool is C++ and Java. Monitor “everything” connected to a network with incredible performance. Create and integrate Business Services, SLAs and ITIL processes such as availability management and capacity planning.

  • aR Jul 6, 2009 @ 16:17

    thanks for sharing all the helpful tools.

  • Shailesh Mishra Jul 7, 2009 @ 19:13

    Nice compilation. As usual, always very useful.

    It would be nice if some of you knowledgeable guys can shed some light on java heap monitoring thing, thread lock detection and analysis, heap analysis etc.

  • Bjarne Rasmussen Jul 7, 2009 @ 20:00

    nmon is a nice tool… try google for it, it rocks

  • Balaji Jul 12, 2009 @ 17:50

    Very much Useful Information’s,
    trafmon is one more useful tool

  • Stefan Jul 15, 2009 @ 20:18

    And for those which like lightweight and concise graphical metering:
    xosview +disk -ints -bat

  • Raja Jul 19, 2009 @ 3:03

    Awesome. Especially love the ps tips. Very interesting

  • Rajat Jul 24, 2009 @ 4:04

    Thanks very good info!!!

  • nima0102 Jul 27, 2009 @ 7:39

    It’s really nice 🙂

  • David Thomas Aug 12, 2009 @ 9:49

    Excellent list!

  • Vinidog Aug 29, 2009 @ 4:53

    Nice… very nice guy!!!! 😉

  • Bob Marcan Sep 4, 2009 @ 11:00

    From the guy who wrote the collect utility for Tru64:

    Name : collectl Relocations: (not relocatable)
    Version : 3.3.5 Vendor: Fedora Project
    Release : 1.fc10 Build Date: Fri Aug 21 13:22:42 2009
    Install Date: Tue Sep 1 18:10:34 2009 Build Host: x86-5.fedora.phx.redhat.com
    Group : Applications/System Source RPM: collectl-3.3.5-1.fc10.src.rpm
    Size : 1138212 License: GPLv2+ or Artistic
    Signature : DSA/SHA1, Mon Aug 31 14:42:40 2009, Key ID bf226fcc4ebfc273
    Packager : Fedora Project
    URL : http://collectl.sourceforge.net
    Summary : A utility to collect various linux performance data
    Description :
    A utility to collect linux performance data

    Best regards, Bob

  • Tman Sep 5, 2009 @ 20:48

    For professional network monitoring use Zenoss:
    Zenoss Core (open source): http://www.zenoss.com/product/network-monitoring

  • Somnath Pal Sep 14, 2009 @ 9:02


    Thanks for the nice collection with useful samples. Consider adding tools to monitor SAN storage, multipath etc. also.

    Best Regards,

  • Eddy Sep 17, 2009 @ 8:41

    I did not see ifconfig or iwconfig on the list

  • Kestev Sep 17, 2009 @ 13:57


  • Sergiy Sep 25, 2009 @ 12:39

    Thanks for the article. I am not admin myself, but tools are very useful for me too.

    Thanks for the comments also 🙂

  • Mark Seger Sep 28, 2009 @ 18:02

    When I wrote collectl my goal was to replace as many utilities as possible for several reasons including:
    – not all write to log files
    – different output formats make correlation VERY difficult
    – sar is close but still too many things it doesn’t collect
    – I wanted option to generate data that can be easily plotted or loaded into spreadsheet
    – I wanted sub-second monitoring
    – I want an API and I want to be able to send data over sockets to other tools
    – and a whole lot more

    I think I succeeded on many fronts, in particular not having to worry if the right data is being collected. Just install rpm and type “/etc/init.d/collectl start” and you’re collecting everything such as slabs and processes every 60 seconds and everything else every 10 seconds AND using <0.1% of the CPU to do so. I personally believe if you're collecting performance counters at a minute or coarser you're not really seeing what your system is doing.

    As for the API, I worked with some folks at PNNL to monitor their 2300 node cluster, pass the data to ganglia and from there they pass it to their own real-time plotting tool that can display counters for the entire cluster in 3D. They also collectl counters from individual CPUs and pass that data to collectl as well.

    I put together a very simple mapping of 'standard' utilities like sar to the equivilent collectl commands just to get a feel for how they compare. But also keep in mind there are a lot of things collectl does for which there is no equivalent system command, such as Infiniband or Lustre monitoring. How about buddyinfo? And more…



  • PeteG Sep 29, 2009 @ 5:33

    I’ve been using Linux since Windows 98 was the current MicroSnot FOPA.
    I know all this stuff. I do not make typoous.
    Why do you post this stuff?
    We all know it.
    Sure we do!
    But do we remember it? I just read through it and found stuff that I used long ago and it was like I just learned it. I found stuff I didn’t know either.
    Hummmm…… Imagine that!
    Thanks, particularly for the PDF.
    Saved me making one.
    Hey, where’s the HTML to PDF howto?

    Thanks again.

  • Denilson Oct 26, 2009 @ 23:55

    free -m
    To show memory usage in megabytes, which is much more useful.

  • AndrewW Nov 5, 2009 @ 23:48

    Is it possible to display hard drive temps from hddtemp in KSysGuard? They are available in Ksensors and GKrellM, without any configuration required. However I prefer the interface and flexibility of KSysGuard. Is there a way of configuring it?


  • Abhijit Nov 10, 2009 @ 13:46

    Zabbix open source monitoring tool


    • greg Jan 6, 2012 @ 18:27

      Zabbix is a great tool that it doesn’t require a entirely separate project to make it easy to install and use (like Nagios and FAN).

      I’ve been following it since its early days and its come a long way. Its sad that lists like this never give it its due, not even a foot note mention.

      while on that note.. really? your 17-20 makes the list, but nmap, mtr, and lsof get relegated to foot notes?

  • Kevin Nov 15, 2009 @ 22:55

    Thanks, good work

  • Stefano Nov 22, 2009 @ 16:09

    Just thanks! 🙂

  • GBonev Nov 25, 2009 @ 14:13

    Good Job on assembling the list
    If I may suggest trafshow as an alternative to iptraf when you need to see more detailed info on source/destination , proto and ports at once.

  • Gokul Dec 7, 2009 @ 4:43

    How to install the Kickstart method in linux

  • Bilal Ahmad Dec 8, 2009 @ 16:01

    Very nice collection.. Worth a bookmark…Bravo…

  • Jalal Hajigholamali Dec 9, 2009 @ 5:07

    Thanks a lot…

  • mancai Dec 11, 2009 @ 18:40

    nice sharing, this is what i want looking for few day ago… tq

  • aruinanjan Dec 14, 2009 @ 7:41

    This is a nice document for new user, thaks to owner of this document.


  • myghty Dec 16, 2009 @ 7:57

    Great post!! Thanks.

  • Rakib Hasan Dec 16, 2009 @ 14:09

    Very helpful. Thanks a lot!

  • PRR Dec 22, 2009 @ 21:25

    After so many thanks. Add one more……..

    thank you. It’s very handy.

  • Yusuf Dec 25, 2009 @ 19:35


    I am in technology myself and this tutorial page is very well organized
    Thanks for taking the time to create this awesome page
    great help for Linux new bees like myself.

  • Yusuf Dec 25, 2009 @ 19:40

    I meant to thank Vivek Gita
    once again awesome job

  • Shrik Dec 31, 2009 @ 9:58

    Thank you very much VERY GOOD WEBSITE

  • sekar Jan 1, 2010 @ 16:16

    it is cool

  • Giriraaj Jan 5, 2010 @ 7:38

    Thanks for sharing most resourceful information.

  • Bhagyesh Dhamecha Jan 6, 2010 @ 11:58

    Dear all Members,

    Thanks for sharing all your knowledge about Linux.. i really thankful for your share linux tips..!!

    thanks and continue this jurny…as well

    thank you..

  • Ganesan AS Jan 10, 2010 @ 13:53

    Good info. Thanks for sharing.
    May GOD bless you to do more.

  • Mark Seger Jan 10, 2010 @ 14:38

    This is indeed an impressive collection of tools but I still have to ask if people are really happy with having to know so many names, so many switches and so many formats. If you run one command and see something weird doesn’t it bother you if you have to run a different tool but the anomaly already passed and you can no longer see it with a different tool? For example if you see a drop in network performance and wonder if there was a memory or cpu problem, it’s too late to go back and see what else was going on. I know it bothers me. Again, by running collectl I never have to worry about that because it collects everything (when run as a deamon) or you can just tell it to report lots of things when running interactively and by default is shows cpu, disk and network. If you want to add memory, you can always include it but you will need a wider screen to see the output.

    As a curiosity for those who run sar – I never do – what do you use for a monitoring interval? The default is to take 10 minute samples which I find quite worthless – remember sar has been around forever dating back to when cpus were much slower and monitoring much more expensive. I’d recommend to run sar with a 10 second sampling level like collectl and you’ll get far more out of it. The number of situations which this would be too much of a load on your system would be extremely rare. Anyone care to comment?


  • miles Jan 12, 2010 @ 4:58

    Amr El-Sharnoby:
    atop is awesome, thanks for the tip.

  • Serg Jan 12, 2010 @ 6:09

    hi Mark

    absolutely agreed with you mate! if you are the sysadmin something – you will do it for yourself and do it right!
    These tools like ps,top and other is commonly used by users who administrated a non-productive or desktop systems or for some users who’s temporary came to the system and who needed to get a little bit of information about the box – and its pretty good enough for them. )

  • met00 Jan 12, 2010 @ 18:15

    If you are running a web server and you have multiple clients writing code, you will one day see CPU slow to a crawl. “Why?”, you will ask. ps -ef and top will show that mysql is eating up resources…


    If only there was a tool which showed me what command was being issued against the database…


    Once you find the select statement that has mysql running at 99% of the CPU, you can kill the query and then go chase down the client and kill them too (or in my case bill them at $250/hr for fixing their code).

  • Mark Seger Jan 12, 2010 @ 18:36

    re mysql – it’s not necessarily that straight forward. I was working with someone who had a system with mysql that was crawling. it was taking multiple seconds for vi to echo a single character! we ran collectl on it and could see low cpu, low network and low disk i/o. Lots of available memory, so what gives? A close look showed me that even those the I/O rates were low, the average request sizes were also real low – probably do so small db requests.

    digging even deeper with collectl I saw the i/o request service times were multiple seconds! in other words when you requested an I/O operation not matter how fast the disk is, it took over 2 second to complete and that’s why vi was so slow, it was trying to write to it’s backing store.

    bottom line – running a single tool and only looking at one thing does not tell the whole story. you need to see multiple things AND see them at the same time.


  • mtituh Alu Jan 19, 2010 @ 14:09

    I have a postfix mail server, recently through tcpdump I see alot of traffic to dc.mx.aol.com, fedExservices.com, wi.rr.com, mx1.dixie-net.com. I believe my mail server is spamming. How do I find out it is spamming? and how do I stop it. Please help.

    • 🐧 nixCraft Jan 19, 2010 @ 15:01

      Only allow authenticated email users to send an email. There are other things too such as anti-spam, ssl keys, domain keys and much more.

  • kirankumarl Feb 3, 2010 @ 9:26

    Dear sir pls send me some linex pdf file by wich i can learn how to install & maintanes

  • Visigoth Feb 21, 2010 @ 15:11

    I like the saidar tool, and iptstate. Check them out.

  • JK Feb 23, 2010 @ 12:43

    Hiii vivek,
    Do you know any application to shut down a ubuntu 9.1 machine when one of its network interface is down..I need it for clustering..

  • AD Feb 25, 2010 @ 6:23

    Thank you very much,,,….
    This information is very useful for me to monitoring my server…

  • Tarek Feb 26, 2010 @ 19:18

    Actually where I work we have and isa server acting as a proxy/firewall, which prevent me from monitoring internet traffic consumption. so i installed debian as a network bridge between the isa server and the lan, and equipped it with various monitoring tools (bandwidthd, ntop, vnstat, iftop, iptraf, darkstat).

  • deepu Mar 2, 2010 @ 7:31

    it is a very good and resourceful infomation.

  • Solo Mar 7, 2010 @ 23:40

    OMG !

    Amazing – Super – Ultra nice info . THX pinguins !

  • vijay Mar 12, 2010 @ 7:30

    its so usefulllll thanks a lot

  • Venu Yadav Mar 23, 2010 @ 5:05

    Good information. Thanks

  • Prashant Redkar Mar 25, 2010 @ 7:10

    Thank you it is very helpful

  • Saorabh Kumar Mar 25, 2010 @ 12:12

    Good knowledge base, great post

  • Spyros Mar 30, 2010 @ 2:52

    Very interesting read that really includes the tools that every admin should know about.

  • amitabh mishra Mar 30, 2010 @ 9:47

    Its a great topic. Actually i am a Mysql DBA and i fond a lot of new things here.
    So i can say it will help in future.

    Thanks once again

  • Chinmaya Apr 2, 2010 @ 4:48

    Excellent one !!!

  • saurav Apr 3, 2010 @ 18:43

    wow this is some great info,also the various inputs in comments. One i would like to add is


    User limits – limit the use of system-wide resources.

    ulimit [-acdfHlmnpsStuv] [limit]


    -S Change and report the soft limit associated with a resource.
    -H Change and report the hard limit associated with a resource.

    -a All current limits are reported.
    -c The maximum size of core files created.
    -d The maximum size of a process’s data segment.
    -f The maximum size of files created by the shell(default option)
    -l The maximum size that may be locked into memory.
    -m The maximum resident set size.
    -n The maximum number of open file descriptors.
    -p The pipe buffer size.
    -s The maximum stack size.
    -t The maximum amount of cpu time in seconds.
    -u The maximum number of processes available to a single user.
    -v The maximum amount of virtual memory available to the process.

    ulimit provides control over the resources available to the shell and to processes started by it, on systems that allow such control.

  • Mustafa Ashraf Rahman Apr 20, 2010 @ 13:44

    hello Vivek Gite,
    This is really a very good post and useful for all admin.

  • arief Apr 21, 2010 @ 15:23

    Great tips..

  • Eduardo Cereto Apr 25, 2010 @ 5:20

    I think you missed my top 2 monitoring tools:

    monit: http://mmonit.com/monit/
    mrtg : http://oss.oetiker.ch/mrtg/

  • Lava Kafle Apr 29, 2010 @ 9:05

    Perfect examples : thanks

  • wolfc01 May 2, 2010 @ 15:32

    See also the “Linux Process Explorer” (in development) meant to be an equivalent the windows process explorer of Mark Russinovich.

    See http://sourceforge.net/projects/procexp

  • ohwell May 2, 2010 @ 18:33

    if an “admin” doesnt know 90% of those tools, he isn’t a real admin. you will find most of these tools explained in any basic linux howto…

  • ravi May 3, 2010 @ 13:05

    how the systems can be seen from sitting on one computer like as admin. what is going on screen in grd floor computers?

  • Anonymous May 7, 2010 @ 19:17

    but how to kill process ID in my server..

    • FHJ May 11, 2010 @ 14:32

      I assume you can find the process ID – for example if your process is called foo.bar, you could do
      ps -ef | grep foo.bar
      this will give the PID (process ID) as well as other information.
      Then do
      kill -9 PID (where PID is the number your found in the above).

      If you are working on a Mac you have to do ‘sudo kill -9 PID’ since the kill command is an “admin” action that it wants you to be sure about.

      Or if you use top, and you can see the process you want to kill in your list, you can just type k and you will be prompted for the PID (the screen will freeze so it’s easy to read). You type the number and “enter”, will have to confirm (y), and the process is killed with -15. Which is less “severe” than a “kill -9” which really kills just about any process (without allowing it a graceful exit of any kind).

      Use with care!

  • someone May 10, 2010 @ 17:59

    Gnome system monitor is a pretty useless utility if you ask me.
    its neat to have it as an applet, but thats it.

  • kalyan de May 14, 2010 @ 2:18


    I think it will be very helpfull for me as i am practicng oracle in redhat linux4. Today i will try to check it. I want 1 more help. I am not clear about crontab. saupposed i want to start a crontab in my system with any script which i have kept in /home/oracle and want to execute in every 1 hour. Can u send me how i can do with details.

    kalyan de.
    Chennai, india
    +91 9962300520

  • Samuel Egwoyi May 14, 2010 @ 9:29

    how can i practice Mysql using linux

  • Basil May 21, 2010 @ 20:49

    This article simply rocks

  • Fenster Jun 1, 2010 @ 10:24

    hey, thanks, just installed htop and iptraf, very nice tools!!

  • zim Jun 2, 2010 @ 13:12


    man atop shows

    “The program atop is an interactive monitor to view the load on a Linux system. It shows the occupation of the most critical hardware resources (from a performance point of view) on system level, i.e. cpu, memory, disk and network.It also shows which processes are responsible for the indicated load with respect to cpu- and memory load on process level; disk- and network load is only shown per process if a kernel patch has been installed.”

    • Boggles Sep 21, 2011 @ 1:52

      Have to agree with zim. Atop is a great tool along with it’s report generating sister application atopsar. This is a must-have on any server I manage.

  • Amit Jun 2, 2010 @ 13:26


    How to install a Suphp on cpanel.

  • Walker Jun 4, 2010 @ 4:19

    Thanks 🙂
    THIS helped me a lot.

  • m6mb3rtx Jun 4, 2010 @ 16:34

    Great article, very userfull tools!

  • dudhead Jun 5, 2010 @ 14:38

    Great list! Missed df command in the list.

  • giftzy Jun 5, 2010 @ 18:26

    I become to love linux after 10 years of hp-ux

  • Rafael Quirino de Castro Jun 7, 2010 @ 17:08

    I´m lookuing for apache parameter on the web and found here.

    So, my contribute is: try to use iftop, iptraf, ifstat, jnettop and ethstatus for network graphical and CLI monitoring.

    Use tcmpdump and ngrep for packet sniffing

    HTB is very good for QoS in the network, especially if you need to reduce slower VPN network

  • georges Jun 9, 2010 @ 15:39

    fuser command is missing from this list. it tells you which command is using a file at the moment. Since in Linux everything is a file, it is very useful to know!
    Use it this way:
    # to know which process listens on tcp port 80:
    fuser 80/tcp

    # to know which process uses the /dev/sdb1 filesystem:
    fuser -vm /dev/sdb1
    etc …

  • Naga Jun 13, 2010 @ 7:19

    Is there any good tools for analyzing Apache/Tomcat instances.

  • Jan 'luckyduck' Brinkmann Jun 15, 2010 @ 11:02

    ‘ethtool’ can also be very useful, depending on the situation:

    – searching for network problems
    – checking link status of ethernet connections
    – and so on

  • Abdullah Jun 16, 2010 @ 7:15

    nice list, at the end i think what you meant is “Bonus” and not “bounce”

    “bounce” means “jump”

    “bonus” means extra goodies 🙂

  • dust Jun 23, 2010 @ 8:19

    What is in Linux that is equal to cfgadm in Solaris?

  • Jerome Christopher Jul 6, 2010 @ 19:55

    Thanks for the excellent list of commands, links and info.

  • sriharikanth Jul 12, 2010 @ 13:49

    Thanks, very useful information provided.

  • Jyoti Jul 13, 2010 @ 9:57

    very useful

  • t.k. Jul 16, 2010 @ 22:02

    Good compilation of commands. Thanks!

  • Thomas Aug 3, 2010 @ 17:40

    If you want graphy easly your performance data, try BrainyPDM: an another open source tool! http://www.brainypdm.org

  • Zanil Hyder Aug 4, 2010 @ 5:44

    Though i have come across most of these names, having them all in one list will prove to be a good resource. I am going to make a list from these and have it within my website which i use for reference.

    Thanks for the examples.

  • brownman Aug 20, 2010 @ 8:57

    web-based gui : webmin wins them all

  • chandra Aug 28, 2010 @ 7:39

    Hi ite really very very nice which is helful to fresher.

    Thanks a lot…………………..

    Amuri Chandra

  • George Aug 30, 2010 @ 15:53

    Great resource…Really helpful for a novice as well for an expert…

  • SHREESAI LUG Sep 4, 2010 @ 5:36



  • Tunitorios Sep 12, 2010 @ 2:31

    Thanks for this great tips.
    My question is how to show the username(s) wich are connected to the server and they are using ftp protocole ?

    • Marcelo Cosentino Apr 7, 2011 @ 12:38

      Try ftptop . I think you can find it in centos , red hat , slack, debian etc…
      Ftptop works with a lot of ftp servers daemons.

  • mark seger Sep 12, 2010 @ 11:48

    I don’t believe that ftp usage by user is recorded anywhere, so you’d have to get inventive. The way I would do it is use collectl to show both processes sorted by I/O and ftp stats. Then is simply becomes a matter of see which processes are contributing to the I/O and who their owners are.

    • jan Feb 24, 2011 @ 7:42

      Usually ftp access are recorded in /var/log/messages file (at least pure-ftpd)

  • sriram Sep 12, 2010 @ 12:53

    Dumpcap is another command which is useful for capturing packets. Very useful tool

  • Riadh Rezig Sep 12, 2010 @ 13:12

    There is another tools “Incron” :
    This program is an “inotify cron” system. It consists of a daemon and a table manipulator. You can use it a similar way as the regular cron. The difference is that the inotify cron handles filesystem events rather than time periods.

  • eaman Sep 14, 2010 @ 6:03

    discus is a nice / light tool to have an idea of file system usage.

  • Amzath Sep 14, 2010 @ 21:43

    Handy list.

    Also, these might be handy as well…

    lsdev – list of installed devices
    lsmod – list of installed modules
    ldd – to see dependencies of a executable file
    watch – automated refresh of any code every specified seconds, etc
    stat – details of any file
    getconf – to get HP server details
    runlevel – redhat run level

    Search in web for more detailed info.

    Good luck…

  • Rafiq Sep 20, 2010 @ 11:45

    Hi guys,
    I m totally new to the linux & this web aswell.
    Would some1 help me here regarding, mirrordir utility?
    what would b the full syntex if i only want to copy/mirror changed/edited files from
    source to destination. since last mirror.
    And how to define specific time to run this command, i mean schedule.
    Thanks in advance.

  • Jalal Hajigholamali Sep 20, 2010 @ 11:54


    use “rsync” command..

  • leebert Sep 28, 2010 @ 20:58

    Don’t forget systemtap (stap) which provides the equivalent of Solaris’ invaluable “dtrace” scripting utility. There’s a “dtrace” for Linux project but I haven’t been able to get it to compile on my OpenSuSE 11.x.

    On SuSE Linux is “getdelays” , enabled via the grub kernel command line “delayacct” switch (starting with SuSE 10 Enterprise…). It’ll reveal the amount of wait a given process spends waiting for CPU, disk (I/O) or memory (swap), great for isolating lag in the system.

    There are many many other monitoring tools (don’t know if these were mentioned before) atopsar (atop-related), the sysstat/sar-related sa* series (sadc, sadf, sa1), isag, saidar, blktrace (blktrace-blkiomon / blktrace-blkparse), iotop, ftop, htop, nigel’s monitor (nmon), famd/fileschanged, acctail, sysctl, dstat, iftop, btrace, ftop, iostat, iptraf, jnettop, collectl, nagios, the RRD-related tools, the sys-fs tools, big sister/brother … you could fill a book with them all.

  • Lonu Feruz Sep 29, 2010 @ 8:37

    please help where I can insert the command of route add of a node. whenever the server is up i have to re do the command. I need to know where i can put this command permanently

  • nagaraju Oct 1, 2010 @ 4:47


  • MAHENDRA SINGH Oct 2, 2010 @ 12:09

    your collection is fantastic.

    now i want to know that, how linux works

  • Rino Rondan Oct 7, 2010 @ 19:37

    Thanx !!!

    A really completed guide !

  • games Oct 8, 2010 @ 1:43

    thank you so much it’s very usefull for me

  • sameer Oct 15, 2010 @ 6:14


    can u send basic linux commands with ex
    Thanks again

  • Gunjan Oct 17, 2010 @ 15:42

    Nice post, its really useful and helping beginners to resolve server issue

  • Moe Oct 19, 2010 @ 9:13

    another good tool for monitoring traffic and network usage:
    this also makes statistics for bandwidth usage over time which can be display for daily, weekly and monthly usage. very useful if you don’t want to install a web-based tool for this.

    • Stan Apr 21, 2011 @ 12:35

      Nice history stats.

  • vishal sapkal Oct 19, 2010 @ 14:54

    very nice
    very importan tool of monetering
    thanks for ……………………………………….

  • david a. lawson Oct 22, 2010 @ 0:32

    this rocks. it could not have come at a better time as i am into my first networking course. thanks so much… i found this through stumbleupon linux/unix

  • ram Nov 12, 2010 @ 8:55

    well,there are so good,i love them!

  • Nik Nov 15, 2010 @ 17:01

    If you want to monitor CPU, memory, I/O and disk usage across multiple servers you can use Librato Silverline – it’s a commercial product but the first 8 cores are always free. You can actually do a lot more with Silverline, i.e. place apps in individual containers, assign resource quotas to containers, trigger events etc. but as a monitoring tool it is really great too.

  • Rajkapoor M Nov 30, 2010 @ 12:52

    It’s awasome……………………..thanks to builder…..
    Rajkapoor M

  • jalexandre Dec 2, 2010 @ 0:41


  • jalexandre Dec 2, 2010 @ 0:44

    And a good Sysadmin always can count with you prefered script language.

    I using perl for monitoring a lot of basic infra structure services, like DHCP, DNS, Ldap, and Zabbix for generate alarms and very nice graphs.

  • Sarath Babu M Dec 11, 2010 @ 9:07


    One of My Professor is introduce about the Ubantu This os is I like very much this flyover. Before I am Using XP but now I download all app. and I all applications. i always love linux, great article.


  • Laxman Dec 23, 2010 @ 9:37

    Very interesting I will try
    I hope it’ll help for me

  • sah Dec 23, 2010 @ 22:19

    thanks alot … its a great help~!

  • KK Dec 25, 2010 @ 4:19

    Sumo is the best, the best that ever was and the best that ever will be.

    Way to go Sumo

  • Deepak Jan 6, 2011 @ 13:18

    Thanks …. This is really helpful….

  • mark Jan 7, 2011 @ 7:05

    How would I get a list of slow running websites on my server via ssh?

  • nigratruo Jan 13, 2011 @ 18:41

    Great list, but why is TOP still used?

    It is a highly limited utility. HTOP can do all top can, plus a ton of stuff more:
    1. use colors for better readabilty. In the 21st century, all computers have a super hightech thing on their monitor called COLORS (sarcasm off)
    2. allow process termination and sending of signals (even multi select several processes)
    3. show cpu / ram usage with visual bars instead of numbers
    4. show ALL processes: top cannot do that, it just shows what is on the screen. It is the main limiting factor that made me chuck it to the curb.
    5. Use your cursor keys to explore what cannot be shown on the screen, for example full CLI parameters from commands.
    6. Active development. There are new features. Top is dead and there does not seem to have been any active development for 10 years (and that is how the tool looks)

    • coldslushy Feb 7, 2011 @ 12:55

      Colors? Too resource intensive…

      • josh Jul 19, 2011 @ 15:38

        Colors do not always contrast well with the background.

  • abdul hameed Feb 2, 2011 @ 6:52

    Dear All,

    My Oracle Enterprice Linux getting very slow, when my local R12.1 start.

    by using “top” command i found lot of Database users are running.
    normally in other R12 instance only few Database users are available. can any one tell me what might be the problem,, is it OS level issue or my Application Issue.. where i have to start the tuning .

    Kinldy advice me.

    Thanks in Advance,
    Abdul Hameed

  • Vimal Feb 9, 2011 @ 20:02

    Shit, this looks great! Thanks very much.

  • Michael Feb 10, 2011 @ 10:30

    “My Oracle Enterprice Linux getting very slow, when my local R12.1 start.”

    Arghh! Linux is turning into Windows!

    These are super machines, people! Remember when 4.2BSD came out, and people were saying “Unix is becoming VMS”? With 4.1 BSD, we had been flying on one MIP machines (think of a one Mhz clock rate – three orders of magnitude slower than today’s machines, not Ghz… Mhz!). So much was added so quickly into 4.2 (kernels were no longer a few hundred kilobytes at most) that performance took a nose dive. But then 4.3 BSD fixed things for a while (with lots of optimizations such as unrolling the the instructions in a bcopy loop till they just just filled an instruction cache line). It didn’t hurt either that memory was getting cheaper, and we could afford to upgrade our 30 user timesharing systems from four Megabytes to eight Megabytes, or even more! It takes an awful amount of software bloat (and blind ignorance of the principles we all learned in our “combinatorial algorithms” classes) to be able to make machines that are over a thousand times faster than the Vaxen we cut our teeth on be “slow”.

    Today’s Linux systems hardly feel much faster on multicore x86 machines than they did on personal MicroVaxes or the somewhat faster Motorola 68020 based workstations (except for compilations, which now really scream by – compiling a quarter meg kernel used to take hours, whereas now it feels like barely seconds pass when compiling kernels that, even compressed, are many times larger. But then, compiler writers for the most part (25 years ago, Green Hills employees seemed a glaring exception and I don’t know about Microsoft) have to prove they have learned good programming practices before their skills are considered acceptable). Other software, like the X server, still feels about the same as it did in the eighties, despite today’s machines being so much faster. And forget about Windows!

  • benjamin ngobi Feb 15, 2011 @ 15:44

    wow these are great tools one should know.thank you so much coz it just makes me better every day

  • Mousin Feb 16, 2011 @ 9:52

    Awesome Thanks a ton worth a bookmark..

  • krishna Feb 23, 2011 @ 9:17

    Friends I have typed the corrected question here below. Please let me know if you can help:

    Part1 : Find out the system resources — CPU Usage, Memory Usage, & How many process are running currently in “exact numbers”?, what are the process?
    Part2: Assume a process CACHE is running on the same system — How many files are opened by CACHE out of the total numbers found above?? what are the files used by CACHE? Whats the virtual memory used by the process. What is the current run level of the process.
    Part3: How many users or terminals are accessing the process CACHE?
    Part4: The script should run every 15secs with the time of execution & date of script and the output should be given to a file “richprocess” in the same order as that of the question.
    Note: NO EXTERNAL TOOLS are allowed to be used with linux. Only shell script should be written for the same!

    • krishna Mar 4, 2011 @ 13:08

      I got the answer for it i used
      $vi file1
      while [ true ]
      echo “—$(date)—-” >> richprocess
      echo ” 1. virtual mem of the system” >> richprocess
      vmstat >> richprocess
      echo ” 2. Free mem available in system” >> richprocess
      free -m >> richprocess
      echo ” 3. Mem used by cache & to print files used by CACHE”
      pmap -x `ps -A | pgrep CACHE` >> richprocess
      sleep 15
      $bash file1 &
      $cat richprocess # to see the output..

      I had a worse comment from someone to try a nonexistent website.. saying “www.Iwantothersdomyhomework.com” please dont post things like this. I am asking help only because I want to learn. Thanks for support from this site..

    • vasu Apr 16, 2011 @ 2:07

      1) lshw

      3) w user

  • Ryan Barrett Mar 1, 2011 @ 14:59

    Thanks great post!

  • ysha Mar 4, 2011 @ 5:06

    thanks.. i love it

  • Rohit Shrivastava Mar 10, 2011 @ 5:01

    Very good for beginners as well as professional. Thank you very much Sir for sharing your knowledge. I really appreciate.

  • ctian Mar 11, 2011 @ 8:41

    nice one. it really works for a newby like me

  • Michael Mar 17, 2011 @ 7:01

    This is really helpful. I know these tools, but did not use them well. Many thanks for your tips.

  • PRADEEP Mar 28, 2011 @ 4:33

    I ve updated kernel…now i need to update it without restart the server.

    Plz help….

  • John Apr 5, 2011 @ 21:29

    cant see nload on the list , easy showing of whats going on with your network..

    nload eth0 should show rest.

  • Parthyz Apr 12, 2011 @ 6:30

    Great Work man.. thanks a lot..

  • Matias Apr 12, 2011 @ 12:46

    Nice list. I would add LogWatch, to send daily reports to your mail.

  • sasidaran Apr 15, 2011 @ 5:16

    Good collection of commands.

  • TiTiMan Apr 15, 2011 @ 15:29

    Thanks for sharing a good list of useful commands.

    I found a typo where there should not be a dash in front of the options for

    ps auxf

    in the command for
    Find Out The Top 10 Memory Consuming Process
    Find Out top 10 CPU Consuming Process

    • vasu Apr 16, 2011 @ 2:07


    • Me Jun 7, 2013 @ 16:33

      Thanks for the typo correction; command works for me now.

  • Sachin Jain Apr 18, 2011 @ 14:16

    Thanks for sharing such a use full commands,
    friends i want to watch terminal session, which is logged in vai ssh
    could you please help me??

  • chandu May 6, 2011 @ 3:06

    Plz help me how write the firewall rules in linux.

  • Jalal Hajigholamali May 6, 2011 @ 12:40


    see manual page of iptables and get examples from google

  • cypherb0g May 6, 2011 @ 19:56

    useful stuff!

  • sudipta Jun 3, 2011 @ 4:58

    GR8 effort … Worth 2 b appreciated

  • Liunx Jun 10, 2011 @ 7:56

    That’s great!
    thanks very much.

  • foster Jun 16, 2011 @ 23:13

    Nagios fork Icinga should be on people’s radar as well.

  • Jalaluddin Jun 24, 2011 @ 6:55

    I want to learn linux firewall and file server from base.
    Can u sujjest me, in which link i can get all those useful material.

    Thank You

  • Adil Husain Jun 30, 2011 @ 10:43

    Nice list … i’ll bookmark it for quick ref.

  • Bhanu Kashyap Jul 9, 2011 @ 17:26

    Its Very Useful For Us….

  • Raivis Jul 12, 2011 @ 5:48


    Nice graphical system statistics RRDTool frontend which produces hourly, daily, weekly, monthly … graphs of various system data. At the moment it provides graphs for memory usage, cpu info, cpu frequency, disk iostat, number of users, number of processes, number of open files, number of tcp connections, system load, network traffic, protocl statistic, harddisk/partition usage and temperatures, privoxy proxy statistic, ntpdrift, fan status and system temperatures.
    It is simple and it doesn’t require snmp. It consists only of some shell and perl scripts.

  • Aviv.A Jul 14, 2011 @ 22:30

    You forgot the command “htop” 😀

  • Laurens Jul 15, 2011 @ 22:16

    An other interesting program wich hasn’t been mentioned yet is Midnight Commander (mc). At least it’s my favourite file manager in a console environment.

    Thanks all for your contributions. There are a lot of interesting programs wich I already use, or certainly will be using in the future.

  • Sravi Raj Jul 19, 2011 @ 5:03

    Nice List

  • andy Jul 21, 2011 @ 8:48

    NO PRINT FUNKTION ? BIG FAIL IN YOUR FACE…damn why is every hole blogging but a printfunktion is missing ? i dont need the scrappie comments in my prints…..

    • Tommie Sep 11, 2011 @ 8:27

      Nice Roundup. However, I love you not having a print function. I am able to print what I need without it… 😉

      htop missing? 🙂

  • GEORGE FAREED Jul 25, 2011 @ 20:43

    thaaaaaaaaaaaanks alot 🙂
    its useful informations 🙂

  • apparao Aug 3, 2011 @ 11:36


  • kiran.somidi Aug 3, 2011 @ 12:47


  • kiran.somidi Aug 3, 2011 @ 12:49

    tarceroute coomand is not their

  • Lalit Sharma Aug 7, 2011 @ 14:13

    how can i copy all this?

  • amit lamba Aug 29, 2011 @ 8:16

    m using ubuntu 9.10 on system but problem is regarding internet …. unable to connect with internet…
    waiting for useful reply

  • Daniel Brasil Aug 30, 2011 @ 22:03

    Very good post. I’ve some problems trying to figure out historical data about disk usage. I still dont know a good tool for that. sar is wonderful but it’s unable to record disk usage per process. You know any tool for that?

    • greg Jan 6, 2012 @ 18:30

      most monitoring tools like nagios, cacti, and zabbix give you the ability to trend your disk usage, and even alert at certain capacity points.

  • jock Sep 6, 2011 @ 2:45

    Its great, but i’m having a little inconvenient, i want to look the detail for a process, exactly from apache, but the result is always the seem, any one have a trick for see them? explaining better, i have a process from apache but not die, it keep for a long time using the resource and overloading the machine, when i see with a “ps auxf” the result is
    apache 32327 85.7 0.5 261164 39036 ? R 22:49 0:49 _ /usr/sbin/httpd

    I want see wath is doing this process “32327” exactly, any idea?

    • greg Jan 6, 2012 @ 19:13

      you can try strace as mentioned in the tools and you can also look at the files in /proc/PID/ (so /proc/32327 for you)

  • eeb2 Sep 7, 2011 @ 21:25

    Thanks for posting this list. Keep up the good posts!

  • khupcom Sep 12, 2011 @ 8:30

    I’m using monitorix and vnstat to monitor my servers

  • Gaurav kuamr jha Oct 2, 2011 @ 7:42

    Great it was bagger description for me.
    This is article has solved my lot of problems
    thanks for this

  • x@y.com Oct 8, 2011 @ 10:14

    thanks 🙂

  • Peter Green Oct 15, 2011 @ 15:29

    Great article, there are many great suggestions! I want to contribute with these two:

    GoAccess – real-time Apache/nginx log analyzer and viewer, runs in a terminal in *nix systems.
    CCZE – modular log colorizer

  • cirrus Oct 21, 2011 @ 10:44

    great post cuz , very informative for recent nix converts “PCLinuxOS#1”

  • David Bothwell Nov 3, 2011 @ 16:27

    I have just recently released my first open source project the Remote Linux Monitor, which you can find at here . I modeled it on Gnome’s System Monitor and I would love get your feedback on it. Thanks.

  • Ferenc Varga Nov 4, 2011 @ 22:06

    for http traffic, i suggest to use justniffer.

  • bishow Nov 8, 2011 @ 14:22

    yeah really nice post !!!
    It’s really help me but how about the centos linux command can anyone tell me about that, all the linux command will be same for the all versions of linux (Is it wright guys) .
    please email me if you know some code of contos linux cause i using this lunux.


  • Unni Nov 11, 2011 @ 1:39

    Well written , keep up the good work ..

  • Gmaster Dec 2, 2011 @ 12:30

    Great job in compiling all the utils in one nice post. Thank you very much!

  • Denis Dec 9, 2011 @ 22:30

    Great stuff, nice to have it all in one place. 🙂

  • manna Dec 12, 2011 @ 5:09

    Am working in small company having around 45 employees,we r using linux server in our office, i need to checkout or monitor the user’s website, which they are accessing in office hours,Please any one suggest me with correct command. Thanks

  • Sibbala Govardhan Raju Dec 13, 2011 @ 10:08

    Dear Sir,

    My Name is Govardhan Raju from TIRUPATI, ANDHRA PRADESH. working as a linux (RHEL4) operator. I want to take data backup daily. Is there any posibility to take todays date files only ? Please suggest me the commands which are useful to take backup daily with syntax.

    Thanking U Sir,

    S Govardhan Raju

    • Kash Jan 15, 2012 @ 14:41

      This is monitoring article not backup article??? Search your question somewhere else.

  • bhaskar Feb 6, 2012 @ 19:57

    Hi, I’m using windows 7 version. how to access the UNIX commands in windows plat form without installing any set up file or UNIX Operating System.

    Could you please suggest any to me.


  • Steve Feb 13, 2012 @ 16:11

    I feel an important one is psacct.. Should have at least made the list. Very useful to track what commands/users are eating cpu time.

  • AL Feb 24, 2012 @ 12:55

    There is another tool we use for system monitoring, it’s from IBM called NMON – pretty good tool, I recommend it.


  • sudhir menon Mar 21, 2012 @ 7:10

    nfsiostat is a great small command on linux

  • nishhhh Mar 22, 2012 @ 14:15

    nice collection..referencing related articles are like ‘feathers in the cap’ !!
    appreciate it..thanks!

  • naveen Mar 23, 2012 @ 8:54

    Dear all ,

    I have deployed some 40 routers in the cafes,60 more in have to deploy in diff region/areas.I want to monitor the Wifi routers sitting in one place.

    I have connected Debian installed thin client to each router to provide internet to the customers @ cafe,free browsing for 30 mins.

    Can some one suggest me a tool for monitoring the Routers & my debian machine performance.

    Naveen C

    • naveen Mar 23, 2012 @ 8:58

      The router model is DAP-1155 Wireless N 150 i have purchased some 100 and i am planning to buy 300 more.

      pls do help me

      Thanks in advance

      Naveen C

    • LTJX Aug 2, 2012 @ 15:08

      Such routers often include a management/monitoring package, which may be more immediately useful than using Debian-based commands, and the router software may allow for viewing the multiple routers you describe from a single screen. I know that the latest NETGEAR wireless routers include a software package like this.

      But, why just 30 minutes per customer? Isn’t that the wrong message to give the cafe customers?: Like, hurry up and drink your coffee/tea, and then get out!!
      Maybe you could try a one hour limit and see what happens. Linux is much more efficient than many people realize, even under heavy usage.

      I think that Starbucks and similar shops in North America tend to offer unlimited Internet access with any purchase – and most don’t really seem to enforce the purchase requirement, unless a “freeloader” is annoying or being offensive to other customers, etc.

  • Eric Apr 6, 2012 @ 13:18

    Great post! Some of these I never thought to use that way. When using free I will often use the -m option to display in Mb. (Example: free -m)

  • sudarshan Apr 11, 2012 @ 6:17

    Hi Team,

    I required to find the hardware information in linux, can you please advise.

    I recieved alert as below:

    Tivoli MINOR for : Accelerator board battery failed


    • Prasad Aug 17, 2012 @ 18:23

      Just do

      # uname

      for specific details do:

      # uname –help

  • Navneet Apr 21, 2012 @ 10:34

    Thanks Vivek,

    For Posting this. It is very useful for Beginners as well.

    Keep the Great work going on…..

  • Shreyansh Modi May 2, 2012 @ 18:04

    Great Share 🙂
    After using a few of these commands I am feeling like I am an Linux Operations Engineer 😉

  • Ravi May 9, 2012 @ 18:17

    Great and useful information.

  • Michael May 10, 2012 @ 22:10

    Your forgot monit (I dont care why it failed at 3a.m. – just fix it and tell me!) and collectd (just record how things are going over the months, without freaky sar..)

    Michael 😉

  • Omar Osorio Jun 5, 2012 @ 20:27

    lshw -short

  • vvvv Jun 12, 2012 @ 3:50

    I Liked it too thank you)

  • oran00b Jun 16, 2012 @ 19:05

    excellent and concise info. For people who are not dedicated Linux Admin but need some tools to work with Linux, this is excellent!

  • darkfader Jul 3, 2012 @ 17:14

    Learn to use sar well and you’ll never need to use iostat, vmstat, etc.

  • William G. Loughran Jul 11, 2012 @ 13:32

    Excellent – can’t thank you enough.
    Not sure what CIFS ‘tools’ we were using – not SAMBA

  • Vichuz Jul 12, 2012 @ 2:17

    Keep up the nice work.

  • seema Jul 17, 2012 @ 8:54

    pl help me
    as i am new in linux i am copying a folder in
    /filesystem/usr/local …. form pen derive , but it is giving error msg ” no permission ”

    pl help

  • Sandeep Jul 17, 2012 @ 12:19

    Its really useful ….nice one..I liked it!!!

  • Praveen Reddy Jul 19, 2012 @ 5:29


    How to take data back in Linux Enterprise 6 daily basis and how to speed up (refresh) in linux. is there any specific commands for this???

    help me out of this…

  • Chetan Jul 25, 2012 @ 7:40

    One of my fav network traffic monitoring tool is iftop

  • Don Saulo Aug 2, 2012 @ 10:54

    Good job, guys!
    Thanks for share.

  • netman Aug 26, 2012 @ 3:49

    thanks for your good articles

  • balwant Sep 1, 2012 @ 17:46

    very very nice..

  • chinta Oct 1, 2012 @ 15:01

    very usefull

  • Carlos A. Junior Oct 1, 2012 @ 16:35


    Great post…now i’m think more prepared to find an strange memory usage on apache server ¬¬.

    Great post.

  • Anup Oct 5, 2012 @ 11:57

    Nice job

  • Richard Cain Oct 11, 2012 @ 7:09

    My new favourite tool is “systemd.analyze”. It is great for pin-pointing bottle-necks in startup. It can produce a very nice plot of every process, allowing you instantly see what’s holding things up.

  • Girijesh Oct 16, 2012 @ 3:54

    very informative…!!!

    Thanks a ton.. 🙂

  • Shekhar Oct 22, 2012 @ 9:30

    What is tool to get All activity info. Like any user create/delete/move file or directory information???

  • Rahul Nov 8, 2012 @ 9:26


  • Hannes Dorn Nov 8, 2012 @ 22:46

    Instead of Cacti I prefer munin. Installation and configuration is easy and on monitored systems, only a small client is needed.

  • xuedi Nov 11, 2012 @ 17:50

    I would replace top with htop, it extents top with a much nicer ncurses and lots of functions …

  • Bill Nov 14, 2012 @ 15:02

    Great list, Shekhar For File Activity etc, I use vigil and vlog client to create the logs

  • Vishal Nov 15, 2012 @ 6:26

    try one for tool to report network interfaces bandwith just like vmstat/iostat

    # ifstat

  • Vishnuprasad Nov 25, 2012 @ 15:41

    And I am using “watch” utility. This is basically not a system monitoring tool. But in some case we need to watch the out put of a command continuously. That time this is not easy to enter the same command all the time and watch the output. In that case you can use this utility. You can set the interval of each refresh.

    Eg: watch -n 10 df -Th (this is just an example)
    This command will give you the output of df -Th in each 10 seconds. Then you can easily measure the hard disk usage.


  • Vishnuprasad Nov 25, 2012 @ 15:43

    A better Server Management Software…



  • Konstantin Nov 28, 2012 @ 3:02

    I’d also add ‘monit’ utility, to monitor assorted services and perform actions 9such as restarting the stopped service).

  • jlarchev Dec 15, 2012 @ 7:21

    Hi all,
    A nice monitoring tool we’re using for years :

    • pechalbata.com Jan 2, 2013 @ 14:52

      Great tool! Thanks!

  • Uday Vallamsetty Dec 31, 2012 @ 18:03

    All of these are must have tools for doing any analysis/monitoring of activity on Linux boxes. Thanks for collecting everything into a concise space.

  • Lucy Jan 2, 2013 @ 23:11

    Thank you for this great post is it very helpful for someone that is starting out.

  • peter Jan 11, 2013 @ 5:04

    very useful article..im a reader of both nixcraft and cyberciti.. well done

  • veera Feb 7, 2013 @ 7:00

    Very nice… Thanks for the effort…..

  • sinlir Feb 8, 2013 @ 10:29

    Very nice!

  • wanie Feb 12, 2013 @ 10:38

    i would know about your opinion…i must do the project about monitoring devices availability…
    what the software in linux about this and i must editing the coding software.

  • Ankit Srivastava Feb 26, 2013 @ 22:01

    You guys are awesome.

    I love this website 🙂

  • Mayur Apr 19, 2013 @ 11:14

    Please can somebody help me to with Autosys/ Control M sheduling tool. I ‘m new to both these tools and never used them. want some tutorials to learn any of these tools for beginners .

    also, which unix commands are important for production support guys apart from normal commands like Grep,find,less,more etc.
    any help in form of documents / tutorials is appreciated…

    thanks in advance…

    appreciate ur reply on my maild id

  • chandan Jun 1, 2013 @ 6:56

    It helped me a lot.

    Thanks a lot and even more.

  • Shreehari Jun 4, 2013 @ 12:31

    Its really awesome!!

  • mohsin Jun 6, 2013 @ 18:46

    TQ, Very helpful tips… Just my $0.02; ETHERAPE for linux is a free graphical tool http://etherape.sourceforge.net/ which is really helpful to help monitor network traffic in a network segment. Many instances i managed to pinpoint which PC/server is heavily broadcasting packets that caused network slow-down.. tq

  • nickchacha Jun 8, 2013 @ 11:38

    This are very helpful tips. Thank you chief.
    Am a newbie in SysAdmin and i this commands will come in hardy.

  • Kristoffer Jun 14, 2013 @ 15:43

    Don’t forget cowsay!

  • Thusitha Nuwan Jul 1, 2013 @ 4:28

    Thanks very much for this list.
    It was very useful.

  • Lukey Jul 20, 2013 @ 0:55

    I”m using the Helper MonkeyTool as a portable ssh Java based interface for Unix/Linux system administration and monitirng.


  • jasoncabahug Jul 22, 2013 @ 5:26

    thankz for this tips it was very useful
    to me.. get more updates about open source..=)

  • BinaryTides Jul 28, 2013 @ 4:08

    Thanks, the list is very useful

  • Rajkumar kathane Sep 26, 2013 @ 5:08

    thank u for sharing ur knowledge very useful.

  • erm3nda Sep 27, 2013 @ 23:29

    Thx for that usefull info:
    Even if we use or not some web host managers, know manual usage of some tools is a must have for a sysadmin, or almost for decent ones… What will you do when the host manager dont work? Who have to repair it? Is You and you will need a real knowledge about what’s on your hands 🙂

    So many thanks again.

  • vikas Oct 28, 2013 @ 13:28

    great help thanks a ton

  • dk Nov 5, 2013 @ 4:25

    kindly share some usefull linux commands and configuration setup

  • Ramesh Dec 2, 2013 @ 13:31

    Excellent Article

  • Piyush Dangodra Jan 7, 2014 @ 3:29

    Excellent Post – keep up the good work : )

  • maltris Jan 11, 2014 @ 8:46

    The ps syntax is wrong.

    For memory:
    ps aux |sort -nrk 4 |head -10

    For cpu:
    ps aux |sort -nrk 3 |head -10

  • Mahesh Vakharia Mar 7, 2014 @ 4:16

    EXCELLENT work , one humble suggestion . when you use top command , or any command , please do mention the way to clear the work load of system so that the system can be speeded up .
    Regards . Very Informative.

  • tungdt Mar 22, 2014 @ 14:52

    Very useful article.thanks

  • Wellington Torrejais da Silva Jun 24, 2014 @ 19:31


  • Dev jha Sep 22, 2014 @ 11:43

    wow….its cooooool…
    thank you very much.

  • Vakharia Mahesh Sep 25, 2014 @ 15:34

    E X C E L L E N T !!!!! This word is also not sufficient for such a lovely information you are sharing with all of us without any selfish motto. Kudos .

    With warm regards

    Mahesh Vakharia

  • Fahad Oct 30, 2014 @ 15:16

    Excellent post!!

  • Fuxy Dec 6, 2014 @ 15:42

    top is old install and use htop it’s way better.

  • Michiel Klaver Dec 10, 2014 @ 9:50

    I missed /proc/slabinfo and the slabtop command?

  • qdenker Jan 15, 2015 @ 17:38

    A little notify in terms of “ps aux” and “ps -aux”

    Note that “ps -aux” is distinct from “ps aux”. The POSIX and UNIX standards require that “ps -aux” print all processes owned by a user named “x”, as well as printing all processes that would be selected by the -a option. If the user named “x” does not exist, this ps may interpret the command as “ps aux” instead and print a warning.”

    quelle: http://superuser.com/questions/394414/ps-warns-me-about-bad-syntax-with-aux-options

  • Raj Jan 27, 2015 @ 11:04

    Can not telnet to Debian 6.0 from Windows Box.
    I have downloaded the file: telnetd_0.17-36_i386.deb and installed it on Debian 6.0 box using dpkg -i command. It was installed successfully. But I still do not find the telnetd process under the “ps -aef” output.

    How do I start the telnetd process automatically so that I can telnet to it from Windows box?


  • Jz Oct 24, 2015 @ 3:58

    Need to add atop to the list. Love that one.

  • sani Jan 29, 2016 @ 19:15

    ashmon is another With nice gui .

  • Rajesh Feb 17, 2016 @ 11:07

    Hi Vivek and all,
    Its a very useful site. Iam about to complete my RHCE and currently residing in banglore ,plz guide with more of these linux topics on my mail: rajeshnarayanbe@gmail.com and how to face the interview as a sysadmin fresher
    I would be pleased if you even mail me about job openings in and around banglore which would be very helpful.
    I hope I would join the beautiful world of linux..
    Thanx Mr.Vivek for introducing me to various monitoring tools

  • Bushmills Apr 7, 2016 @ 14:04

    munin beats cacti, IMHO.
    lsblk list block devices.
    watch repeat a one-off executing CLI program, that way generating dynamically updating output.

  • Costa Tsaousis Oct 7, 2016 @ 13:26

    Check also netdata:

    netdata is a highly optimized Linux daemon providing real-time performance and health monitoring for Linux systems, applications and SNMP devices, over the web! It has been designed to permanently run on all systems, without disrupting the applications running on them.

    demo: http://my-netdata.io
    source: https://github.com/firehol/netdata
    wiki: https://github.com/firehol/netdata/wiki

    – real-time, per second updates, snappy refreshes!
    – 300+ charts out of the box, 2000+ metrics monitored!
    – zero configuration, zero maintenance, zero dependencies!
    – dozens of health monitoring alarms, out of the box!

  • nino Mar 30, 2017 @ 8:49

    Just started learning Linux(Gentoo) but i’m not sure if that’s the best place to start. I would greatly appreciate any sites that might be helpful for learning.

  • Gopal Raha May 15, 2017 @ 18:33

    Good list of monitoring tools good work keep it up dude…

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum