Linux has long been a popular choice for server management due to its power, flexibility, and robustness. A critical aspect of managing Linux servers is understanding the utilities available to diagnose and monitor system health. This article will explore the most common Linux utilities used in server management, detailing how they can be used to assess your server’s health and optimize its performance.

1. Top

The ‘top’ command provides a real-time, dynamic view of the processes running on a Linux system. It displays essential information about system usage, such as CPU, memory, and swap usage, as well as process-level data, including process IDs, user, CPU usage, and memory consumption.

Usage: top

To sort by memory usage, press ‘M,’ and to sort by CPU usage, press ‘P.’ Press ‘Q’ to quit.

2. Uptime

‘Uptime’ is a simple command that shows the current system time, how long the system has been running, the number of users, and the average system load for the past 1, 5, and 15 minutes.

Usage: uptime

3. Vmstat

The ‘vmstat’ command gives an overview of the system’s virtual memory, processes, CPU, and IO activities. It’s useful for monitoring system performance and identifying potential bottlenecks.

Usage: vmstat [interval] [count]

Example: vmstat 5 10 – This command will display the vmstat report every 5 seconds, 10 times.

4. Df

The ‘df’ command displays disk space usage for all mounted filesystems. It provides information about the total size, used space, available space, and percentage of space used.

Usage: df -h – The ‘-h’ flag shows the output in a human-readable format.

5. Du

The ‘du’ command estimates file and directory space usage. It’s useful for identifying directories or files that are consuming large amounts of disk space.

Usage: du -sh [directory] – The ‘-s’ flag shows the total size for the specified directory, and ‘-h’ displays the result in a human-readable format.

6. Iostat

‘iostat’ is a utility that provides detailed information about CPU usage and device input/output statistics. It’s beneficial for identifying potential IO-related performance issues.

Usage: iostat -xz [interval] [count]

Example: iostat -xz 5 10 – This command will display an extended report every 5 seconds, 10 times.

7. Netstat

The ‘netstat’ command shows network connections, routing tables, and network interface statistics. It’s useful for monitoring and diagnosing network-related issues.

Usage: netstat -tuln – The ‘-tuln’ flags show TCP, UDP, listening sockets, and port numbers.

8. Iftop

‘iftop’ is a real-time network bandwidth monitoring tool that displays bandwidth usage by individual connections. It’s helpful for identifying high-traffic connections and potential network bottlenecks.

Usage: sudo iftop – The ‘sudo’ command is necessary as iftop requires root privileges.

9. Htop

‘htop’ is an enhanced version of the ‘top’ command, offering a more visually appealing and interactive interface. It provides real-time information about processes, memory usage, and CPU load, and supports mouse interaction, making it easier to navigate and manage processes.

Usage: htop

To sort by memory usage, press ‘F6’ and select ‘MEM%.’ To sort by CPU usage, select ‘CPU%.’ Press ‘F10’ or ‘q’ to quit.

10. Sysstat

‘sysstat’ is a collection of utilities designed to monitor system performance and usage. Some of the most commonly used sysstat utilities are ‘iostat,’ ‘mpstat,’ and ‘sar.’

Usage:

  • iostat – As mentioned earlier, ‘iostat’ provides IO and CPU statistics.
  • mpstat – This command displays CPU usage statistics for each processor or core.
  • sar – The ‘sar’ command collects and reports system activity information, such as CPU, memory, and IO usage.

Example: sar -r 5 10 – This command will display the memory usage report every 5 seconds, 10 times.

Understanding and utilizing these Linux utilities is essential for effective server management and system health diagnostics. By mastering these tools, you can ensure your Linux server operates efficiently, identify potential issues, and optimize performance. Keep in mind that each utility has its unique set of flags and options, so consult the respective man pages (man [command]) for more detailed information and usage examples.