Top 20 Linux -Unix Performance Monitoring Tools


Linux-Unix system  administrators occasionally need some tools to track systems. You may need to know the system well and intervene immediately in case of a problem.This might be performance problems or debug problems etc.These tools will help you in these situations.You should know this tools.

1.Lsof-Show Open Files

You can use lsof to identify open files and network connections on Linux and Unix systems.The basis of Linux / UNIX systems is the “file” definition, in other words everything on a Linux / UNIX system is a file.Systems are done through files that are made on the processes. In a system analysis, the type of files, the status, the information about who uses it is important.If you want to use lsof in Linux,you should install lsof package via yum.

root@emre:/home/root # lsof /gunluk #Unix
ksh 35848424 root cwd VDIR 27,1 4096 2 /gunluk (/dev/gnlkbklv)
backbynam 47906918 root cwd VDIR 27,1 4096 2 /gunluk (/dev/gnlkbklv)
backbynam 47906918 root 1w VREG 27,1 61760 40 /gunluk (/dev/gnlkbklv)
backbynam 47906918 root 6r VREG 27,1 126248358052 237715 /gunluk (/dev/gnlkbklv)
find 51118120 root cwd VDIR 27,1 12288 4134 /gunluk (/dev/gnlkbklv)
find 51118120 root 4r VDIR 27,1 4096 2 /gunluk (/dev/gnlkbklv)
find 51118120 root 5r VDIR 27,1 4096 2 /gunluk (/dev/gnlkbklv)
find 51118120 root 6r VDIR 27,1 256 4131 /gunluk (/dev/gnlkbklv)
find 51118120 root 7r VDIR 27,1 12288 4134 /gunluk (/dev/gnlkbklv)

[root@emre ~]# lsof /run/systemd/notify  #Linux
systemd   1 root   22u  unix 0xffff880127b0c800      0t0 6736 /run/systemd/notify

2.Top(Linux)-Topas(AIX)- Process Monitoring

Linux Top command or Unix Topas command is often used by most system administrators to monitor Linux and Unix performance. And it is a performance monitoring program that is found under most Linux / Unix-like operating systems.The top program provides a dynamic real-time view of a running system.It can display system summary information, as well as a list of processes or threads currently being managed by the kernel, CPU usage, Memory usage, Swap Memory, Cache Size, Buffer Size, Process PID, User, Commands and much more. It also shows high memory and cpu utilization of a running processess.

[root@emre ~]# top #Linux
root@emre:/home/root # topas #Unix

3.VmStat – Virtual Memory Statistics

The vmstat command reports statistics about  hypervisor pages,virtual memory, disks,kernel threads, traps, and processor activity.If you want to use vmstat in Linux,you should install sysstat package via yum.

[root@emre ~]# vmstat #Linux and Unix

4.Tcpdump-Network Package Analyzer

Tcpdump is a package analyzer program that runs on the command line on computers with Linux – Unix operating system. It provides the ability to capture and observe TCP / IP packets or other packets transmitted or received over a network that the user is connected to.If you want to use tcpdump in Linux,you should install tcpdump package via yum.

root@tsmserver:/home/root # tcpdump -i en4|more  #Unix
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en4, link-type 1, capture size 96 bytes
17:08:36.911520 IP stby105.13219 > tsmserver.vlsi-lm: . 104632948:104634396(1448) ack 592559840 win 65160 <nop,nop,timestamp 1530012193 1525541171>
17:08:36.911522 IP stby105.13219 > tsmserver.vlsi-lm: . 1448:2896(1448) ack 1 win 65160 <nop,nop,timestamp 1530012193 1525541171>
17:08:36.911523 IP stby105.13219 > tsmserver.vlsi-lm: . 2896:4344(1448) ack 1 win 65160 <nop,nop,timestamp 1530012193 1525541171>
17:08:36.911523 IP stby105.13219 > tsmserver.vlsi-lm: . 4344:5792(1448) ack 1 win 65160 <nop,nop,timestamp 1530012193 1525541171>

[root@emre ~]# tcpdump |more  #Linux
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:12:30.297162 IP emre.c.kubernetes-191507.internal.ssh > Flags [P.], seq 1508282308:150828
2516, ack 4170064696, win 405, options [nop,nop,TS val 1073508 ecr 2291522340], length 208
14:12:30.297504 IP emre.c.kubernetes-191507.internal.50364 > 36426+ PTR? 34.92.1 (44)

5.Netstat – Network Statistics

It is a console command that can give you detailed information about network connections, routing tables, interface statistics, and similar network connection information.It also allows us to see the scrolling tables along with the incoming and outgoing links.It helps you control the open ports in your system, along with statistics for network cards.

[root@emre ~]# netstat -a |more #Linux
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0   *               LISTEN     
tcp        0      0 localhost:smtp*               LISTEN     
tcp        0      0 emre.c.kubernetes:50060 CLOSE_WAIT 
tcp        0     64 emre.c.kubernetes-1:ssh     ESTABLISHED
tcp        0      0 emre.c.kubernetes:50064 ESTABLISHED
tcp        0      0 emre.c.kubernetes:50066 ESTABLISHED
tcp        0      0 emre.c.kubernetes:50068 ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN 

root@emre:/home/root # netstat -ad |more #Unix
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.* *.* CLOSED
tcp4 0 0 *.* *.* CLOSED
tcp 0 0 *.ftp *.* LISTEN
tcp6 0 0 *.ssh *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
tcp4 0 0 emre.64118 emre.vlsi-lm CLOSE_WAIT
tcp 0 0 *.sunrpc *.* LISTEN
tcp 0 0 *.smux *.* LISTEN
tcp 0 0 *.shell *.* LISTEN
tcp 0 0 *.rmc *.* LISTEN
tcp4 0 0 emre.vlsi-lm emre.64874 ESTABLISHED
tcp 0 0 emre.64874 emre.vlsi-lm ESTABLISHED
tcp4 0 0 emre.vlsi-lm emre.64888 ESTABLISHED
tcp 0 0 emre.64888 emre.vlsi-lm ESTABLISHED

6.Htop – Linux Process Monitoring

The top command has similar properties. But it is easier to use and more colorful.If you want to use htop in Linux,you should install htop package via yum. Unix system does not have tihs package.You can use only Linux.

[root@emre ~]# htop

 7.Iotop – Monitor Linux Disk I/O

Iotop is an open source and free utility similar to top command, that provides an easy way to monitor Linux Disk I/O usage details and prints a table of existing I/O utilization by process or threads on the systems.

[root@emre ~]# iotop

8. Iostat – Input/Output Statistics

The iostat command is a command line tool that displays the input and output storage system and display devices, local disks, remote disks such as NFS.If you want to use iostat in Linux,you should install sysstat package via yum.You can use iostat command like this in Unix.

9.IPTraf – Real Time IP LAN Monitoring

IPTraf (Ip Network Monitoring Tool) is a tool that listen and monitor the traffic on interface.In shortly, we can call it a network monitor.You can see the packet status, which ports are connected to which port, and how much traffic is consumed. You can also see the connection in the right direction.If you want to use iptraf in Linux,you should install iptraf package via yum.

[root@instance-1 ~]# iptraf

10.Psacct or Acct- User process monitoring

psacct or acct are both open source tools that are used for monitoring user activity on a system.These tools run in backgrounds.If you want to use psacct in Linux,you should install psacct package via yum.

root@instance-1 ~]# ac
        total        0.33
[root@instance-1 ~]# ac -d
Today   total        0.34
[root@instance-1 ~]# ac -p
        mazhochist                           0.34
        total        0.34

11. Monit – Linux Process and Services Monitoring

Monit,It is a tool that can be a good choice for monitoring relatively small networks, especially one or several servers.Apart from other tools, Monit,has the ability to restart the monitored services if they stop.If you want to use Monit in Linux,you should install Monit package via yum.

root@instance-1 ~]# monit
 New Monit id: f5c1203377cba45ecbc5bb9f9d643df7
 Stored in '/root/'
Starting Monit 5.25.1 daemon with http interface at [localhost]:2812

12.NetHogs – Monitor Per Process Network Bandwidth

With the Nethogs tool you can see the bandwidth and the most intensive operations used by individual transactions. In case of sudden bandwidth on the system, you can find the process account using the NetHOGs tool.If you want to use NetHogs in Linux,you should install Nethogs package via yum.

[root@instance-1 etc]# nethogs

13. iftop – Network Bandwidth Monitoring

It is a nice application that can display network usage from command line like top.If you want to use if top in Linux,you should install if top package via yum.

[root@instance-1 etc]# iftop

14. Monitorix – System and Network Monitoring

Monitorix is a free, open source, lightweight system monitoring tool.

15. Arpwatch – Ethernet Activity Monitor

Arpwatch Address Resolution Protocol (ARP), which is located in the local network, is an open source program used to monitor its activities.

arpwatch: bogon 42:01:0a:8e:00:01
From: root (Arpwatch)
To: root
Subject: new station (instance-1.c.kubernetes-191507.internal)
 hostname: instance-1.c.kubernetes-191507.internal
 ip address:
 ethernet address: 42:01:0a:8e:00:02
 ethernet vendor: <unknown>
 timestamp: Tuesday, February 27, 2018 18:10:25 +0000

16. Suricata – Network Security Monitoring

Suricata is an open source, intrusion detection and prevention system distributed with GPLv2 license. It is being developed and supported by the Open Information Security Foundation (OISF), a non-profit-making community.

17. VnStat PHP – Monitoring Network Bandwidth

VnStat PHP frontend is a graphical web interface for network utility called VnStat.It uses the network interface statistics provided by the kernel as information source.

18. Nagios – Network/Server Monitoring

Nagios is a widely used GPL licensed and open source network monitoring system. Its flexible structure makes it very comfortable to use. You can almost monitor many devices and products that might come to mind.

19. Nmon: Monitor Linux Performance

NMON is short for Nigel’s Performance Monitor and is available on AIX, Solaris ( with Sarmon) and Linux systems.

20. Collectl: All-in-One Performance Monitoring Tool

The collectl utility is a system monitoring tool that records or displays specific operating system data for one or more sets of subsystems.

[root@instance-1 etc]# collectl
waiting for 1 second sample...
#cpu sys inter  ctxsw KBRead  Reads KBWrit Writes   KBIn  PktIn  KBOut  PktOut 
   0   0    74     69      0      0      0      0      0      1      0       1 
   0   0    85     83     72      2      0      0      0      1      0       1 
   0   0    75     67      0      0      0      0      0      1      0       1 
   0   0    76     67      0      0      0      0      0      1      0       1 
   0   0    73     65      0      0      0      0      0      1      0       1 
   0   0    81     69      0      0      0      0      0      1      0       1 
   0   0    79     71      0      0      8      2      0      1      0       1 
   0   0    77     70      0      0      0      0      0      1      0       1 
   0   0    74     65      0      0      0      0      0      1      0       1 
   0   0    71     63      0      0      0      0      0      1      0       1

If we’ve missed any important tool that you would like us to include in this list, please inform us via comments and please don’t forget to share it.



Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.