Awesome Linux Tools
I’ve been compiling a list of useful Linux monitoring and troubleshooting tools for quite some time. Here it is.
7 min readAug 31, 2014
Each tool is accompanied by man page, some helpful tutorials and a brief description. Hope you find it useful.
Let me know about those tools that I have missed and you can’t live without!
Collections of tools
- “Systems Performance: Enterprise and the Cloud” book and “Linux Performance” page by legendary Brendan Gregg (@brendangregg).
- Netflix at Velocity 2015: Linux Performance Tools.
- Netflix Architect Offers Template for Monitoring Linux Performance Tools
- What are useful CLI tools for Linux system admins
- 20 Command Line Tools to Monitor Linux Performance
- 18 commands to monitor network bandwidth on Linux server
- Best command line tools for linux performance monitoring
- 6 quick tools to monitor system resources on Linux
- How To Use Top, Netstat, Du, & Other Tools to Monitor Server Resources
- 24 iostat, vmstat and mpstat Examples for Linux Performance Monitoring
- A little collection of cool unix terminal/console/curses tools
- Five Tools for Measuring and Improving Linux System Performance
System Tools
- watch — Linux watch command, To monitor a command. Command Line Basics – watch. Periodically executes a program specified, showing its output.
- htop — Home. Install htop An Interactive Text-mode Process Viewer. Why htop Command Compete Linux top Command. An interactive process viewer for Linux allowing to see all the processes running on the system and sort the output by any column, such as memory usage, CPU, process state, start time and so on. Allows to search for, filter out and kill processes.
- atop — Home. Install atop Linux tool To Monitor Your System Process. One-stop performance analysis using atop. Atop – monitor system resources in Linux. Interactive load monitor, showing the occupation of the most critical hardware resources from a performance point of view, such as cpu, memory, disk and network.
- strace — 8 Options to Trace/Debug Programs using Linux strace Command. The Magic of Strace. Trace the Process and See What It is Doing with strace. Intercepts and records the system calls and signals which are made and received by the executed process.
- ltrace — Reverse Engineering Tools in Linux. Linux Commands For Shared Library Management & Debugging Problem. Intercepts and records the dynamic library calls and signals which are called and received by the executed process.
- pstree — The pstree Command. pstree Command Examples: See A Tree Of Processes. Linux Process And Directory Structure Tree Commands. Displays the processes on the system in the form of a tree diagram.
- nmon — Nmon: Analyze and Monitor Linux System Performance. Install and Use nmon Tool To Monitor Linux Systems Performance. Nmon – linux monitoring tools. Systems administrator, tuner, and benchmark tool, can display system’s CPU, memory, network, disks, file systems, top processes, and resources.
- iostat — How do I find out Linux Disk utilization? Linux iostat Command to Report CPU Statistics and I/O Statistics. Iostat Linux Command — Performance Monitoring In Linux With Examples. Linux and Unix iostat command. Used to monitor the system I/O device loading, generates reports that can be used to modify system’s configuration to better balance the I/O load between physical disks.
- mpstat — Linux mpstat Command — Reports Processors Related Statistics. CPU Bottleneck — How To Use Vmstat , Mpstat and SAR Commands. Monitors cpu utilization, reporting processors related statistics.
- vmstat — Use vmstat to Monitor System Performance. Linux vmstat Command — Tool to Report Virtual Memory Statistics. Web-vmstat Tool — Show Vmstats in Chart / Graphical Mode. Linux Performance Measurements using vmstat. Periodically reports information about processes, memory, paging, block IO, traps, disks and cpu activity.
- sar — 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring. Examples of using SAR command for system monitoring in Linux. Linux System Performance Monitoring Using Sar Command. Using Sar To Monitor System Performance. Collects, reports, or saves system activity information. Allows to collect all performance data on an on-going basis, store them, and do historical analysis to identify bottlenecks.
- lsof — CLI Magic: lsof. Practical examples of the use lsof command. Linux lsof Command — Find Process Listening to Port / Files Opened. 15 Linux lsof Command Examples. List the information about the files that are opened by various users and processes.
- iotop — Home. Linux iotop: Check What’s Stressing And Increasing Load On Your Hard Disks. Monitor disk io on linux server with iotop and cron. iotop – A top-Like I/O Monitoring Utility For Processes And Threads. Monitor Disk I/O Process : Linux Iotop Tool. top-like I/O monitoring utility watching I/O usage information output by the Linux kernel and displaying a table of current I/O usage by processes or threads on the system.
- collectl — Home. Collectl: An Advanced All-in-One Performance Monitoring Tool for Linux. Collectl is a powerful tool to monitor system resources on Linux. Collectl – Monitoring system resources. Performance monitoring tool that collects the data describing the current system status, capable of reporting interactively as well as logging to disk . Can gather information on many different types of system resources such as cpu, disk, memory, network, sockets, tcp, etc.
- dstat — Dstat: Versatile resource statistics tool. Dstat linux monitoring tools. dstat Tool to Monitor Processor, Memory, Network Performance on Linux Server. A replacement for vmstat, netstat, iostat and ifstat, allows to view all system resources in real-time.
- glances — Documentation. Keep An Eye On Your System With Glances Monitor. Glances – Real Time System Monitoring Tool for Linux. Glances – An Advanced Real Time System Monitoring Tool for Linux. A cross-platform monitoring tool for CPU, Load Average, Memory, Network Interfaces, Disk I/O, Processes and File System spaces utilization. Can adapt dynamically the displayed information depending on the terminal size and can also work in a client/server mode for remote monitoring.
- sysdig — Blog, wiki, user guide, examples. Sysdig + Logs: Advanced Log Analysis Made Easy. Sysdig for ps, lsof, netstat + time travel. strace + tcpdump + lsof on steroids. A system-level exploration tool capturing system state and activity from a running Linux instance, then saving, filtering and analyzing it.
Networking Tools
- nc — Linux and Unix nc command. 8 Practical Linux Netcat NC Command Examples. Linux Netcat command – The swiss army knife of networking. Useful netcat examples on Linux. TCP/UDP troubleshooting utility, can open TCP connections, send UDP packets, listen on arbitrary TCP and UDP ports, do port scanning, and deal with both IPv4 and IPv6.
- nmap — Home, book, reference guide. How To Use Nmap to Scan for Open Ports on your VPS. 29 Practical Examples of Nmap Commands for Linux System/Network Administrators. Top 30 Nmap Command Examples For Sys/Network Admins. Network exploration tool and security scanner. Can be used for network inventory, service upgrade schedule management, uptime monitoring.
- tcpdump — 12 Tcpdump Commands – A Network Sniffer Tool. Network Traffic Capture In Linux — Tcpdump Examples. Packet Capturing with TCPDUMP command in linux. TCPDUMP Command man page with examples. Netwrok packets sniffer, prints out a description of the contents of packets on a network interface, can also save the packet data to a file for later analysis.
- netstat — 20 Netstat Commands for Linux Network Management. 13 Examples To Explain Linux Netstat Commad. How to use netstat command in linux. 10 basic examples of linux netstat command. Monitors incoming and outgoing network connections, prints information about the routing tables and interface statistics.
- mtr — Diagnosing Network Issues with MTR. How To Use Traceroute and MTR to Diagnose Network Issues. traceroute and ping in a single network diagnostic tool, investigates the network connection between the host mtr runs on and remote host.
- iftop — Linux iftop — Listen Network traffic (interface) & Bandwidth (pair of hosts). The Sysadmin’s Toolbox: iftop. Linux iptraf and iftop: Monitor, Analyse Network Traffic and Bandwidth. Bandwidth Monitoring Tool (iftop). Listens to network traffic and displays a table of current bandwidth usage.
- iptraf / iptraf-ng — Home, About, User’s Manual. Linux iptraf and iftop: Monitor, Analyse Network Traffic and Bandwidth. Real Time Interactive IP LAN Monitoring with IPTraf Tool. IPTraf — A Free Network Monitor in Linux. iptraf-ng: Returning to a classic. Network statistics utility, gathers a variety of figures such as TCP connection packet and byte counts, interface statistics and activity indicators.
- nethogs — Home. Linux: See Bandwidth Usage Per Process With Nethogs Tool. NetHogs – Monitor Per Process Network Bandwidth Usage in Real Time. Net top tool, monitors real time network traffic bandwidth used by each process or application.
- iperf — Home. iperf: a simple but powerful tool for troubleshooting networks. IPERF: How to test network Speed,Performance,Bandwidth. Measure Network Performance: Find Bandwidth, Jitter, Datagram Loss With Iperf. Performs network throughput measurements by establishing both a server and a client to generate and discard the traffic.
- nload — Linux and Unix nload App: Monitor Network Traffic and Bandwidth Usage In Real Time. Monitors network throughput and displays the current network usage.
- nicstat — Solaris / Linux: nicstat Command Show Network Interface Card Statistics. Prints network traffic statistics for all network cards, including packets, kilobytes per second, and average packet size.
- httpry — How to sniff HTTP traffic from the command line on Linux. httpry – HTTP logging and information retrieval tool. Logging Web Traffic with Httpry. HTTP packet sniffer, captures live HTTP packets and displays their content at the HTTP protocol level in a human-readable format.