18 Command‑Line Tools to Monitor Linux Performance
This article presents a curated list of 18 lesser‑known command‑line utilities for Linux/Unix administrators, explaining their purpose, typical usage scenarios, and how they help monitor system resources, network activity, and security events.
Introduction
For system and network administrators, daily monitoring and debugging of Linux performance is a heavy workload. After five years as a Linux sysadmin, I realized how difficult it is to keep a system up and running smoothly.
For this reason we have compiled a list of the most frequently used command‑line tools that can assist every Linux/Unix system administrator.
These tools work on various Linux distributions and can be used to monitor and pinpoint the causes of performance problems.
The list provides enough utilities for you to pick the ones that fit your monitoring scenario.
Editor’s note: Some of the tools listed are less common; for more details and usage instructions, click the “Read the original article” link at the end.
1. lsof – List Open Files
The lsof command, available on most Linux/Unix systems, displays all open files and the processes that opened them, including disk files, network sockets, pipes, devices, and processes.
It is especially useful when you cannot mount a disk or need to see which file is causing an error.
Typical usage format:
2. htop – Interactive Linux Process Monitor
Htop is an advanced interactive real‑time process monitor for Linux.
It resembles the classic top command but offers richer features such as friendly process management, keyboard shortcuts, and vertical/horizontal display modes.
Htop is a third‑party tool not included by default; install it via the YUM package manager.
# htop
Htop command example screenshot
3. iotop – Monitor Disk I/O
Iotop works similarly to top and htop but focuses on real‑time disk I/O and process statistics.
It is very useful for locating processes that heavily read/write the disk.
# iotop
Iotop command example screenshot
4. IPTraf – Real‑Time LAN IP Monitoring
IPTraf is an open‑source console application for real‑time network (LAN) monitoring on Linux.
It gathers extensive information such as IP traffic, TCP flags, ICMP details, TCP/UDP flow separation, interface status, and more.
IP traffic monitoring
For usage details, visit the IPTraf network monitoring tool page.
5. psacct / acct – User Activity Monitoring
The psacct (or acct ) tools monitor each user’s activity on the system.
Running as background services, they track every command a user runs, the resources consumed, and the duration of each session.
Administrators can use them to audit what users are doing, which commands they execute, and how much resources they consume.
See the article “Using psacct or acct to monitor user activity” for installation and examples.
6. monit – Process and Service Monitoring
Monit is a free, open‑source, web‑enabled process monitoring tool that can automatically monitor and manage system processes, programs, files, directories, permissions, and checksums.
It can monitor services such as Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, etc., via command line or its web interface.
Monit Linux system monitoring
7. netHogs – Per‑Process Network Bandwidth Monitoring
NetHogs is a small open‑source program similar to top that closely monitors each process’s network activity and tracks real‑time bandwidth usage.
NetHogs: Bandwidth monitoring on Linux
8. iftop – Network Bandwidth Monitoring
iftop is another console‑based open‑source monitoring application that displays a continuously updated list of network bandwidth usage per host (source or destination) on a selected interface.
While top monitors CPU usage, iftop focuses on network bandwidth.
iftop – monitoring network bandwidth
9. monitorix – System and Network Monitoring
Monitorix is a free, lightweight application designed to monitor Linux/Unix servers and resources.
It runs an HTTP server that regularly collects system and network data and presents it graphically.
It monitors average load, memory allocation, disk health, services, network ports, mail statistics, MySQL stats, etc., helping to detect errors, bottlenecks, and abnormal activity.
10. arpwatch – Ethernet Activity Monitor
Arpwatch is designed to monitor Ethernet address resolution (MAC and IP address changes) on Linux.
It continuously watches Ethernet activity and logs IP/MAC pair changes, optionally sending email alerts for address modifications, which is useful for detecting ARP attacks.
11. suricata – Network Security Monitoring
Suricata is an open‑source high‑performance network security, intrusion detection, and anti‑monitoring tool that runs on Linux, FreeBSD, and Windows, developed by the Open Information Security Foundation (OISF).
12. vnStat PHP – Web‑Based Network Traffic Monitoring
vnStat PHP is a web front‑end for the popular vnstat network traffic tool.
It presents network usage in attractive graphical form, showing hourly, daily, and monthly upload/download statistics and summary reports.
Editor’s note: Some of the command‑line tools listed are less common; for more details and usage instructions, click the “Read the original article” link at the end.
Source: http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance
Original article: 18 Command Line Tools to Monitor Linux Performance
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.