Four Linux server monitoring tools

htop - interactive process viewer

You may know the standard tool for watching real time processes on your machine top. If not, run $ top to see it in action, and $ man top to read the manual.

The htop is a widely extended version of top, with a big overview (eg. full commands, visualization, gui and ui), a mouse-clicking interaction, and a lot of guidance on how to do process management.

Install it and try it out: $ sudo apt-get install htop

Screenshot:
- From my OS X terminal in my Debian 7 box

iotop - simple top-like I/O monitor

Iotop is a real-time monitor for IO. It displays information about each process thread in your system with their belonging detailed input and output (IO) usage.

This can be used together with $ tcpdump which respond with network traffic. If you can see that something is going on with your web server you can eg. check your port 80 (standard http port) networks traffics by running $ tcpdump port 80 to see details.

The most useful information is probably the DISK WRITE column, where you can see exactly how much process in K/s each IO uses.

apachetop - display real-time web server statistics

It displays stats, hits, requests, request details, and is good to get an overview for what is happening on your web server right now.

If you use Nginx there is similar tools, but seems like they are not as detailed as apachetop.

Install it and try it out: $ sudo apt-get install apachetop

Screenshot:

Glances - CLI curses based monitoring tool

Glances displays columns in separated tables for various useful real-time data about what is going on on your machine. Glances aims to show as much information as possible on a minimum of space, and i think it's goal is fully reached.