The best platform that you can use for network performance monitoring is Linux. Why? The biggest reason to use Linux is because of its open source nature. Over the years, programmers have developed a lot of useful commands that can be used on any kind of system. Being a network or system administrator can be a really hard thing to do. Monitoring and debugging systems all day long can be really exhausting. If you plan on doing this job, eventually you will realize how hard it is to monitor and keep systems up and running. Because of this, I have made a list of some often used command line monitoring tools that prove to be useful in everyday work. These tools help you monitor traffic flow through network interfaces and can show you the speed of data transfer on your network. You can also use some of these commands to see clearly how much bandwidth some particular processes use.

Netstat

Netstat is short for network statistics and you can guess what it is about. It is used to monitor incoming and outgoing network packets statistics. It is also used to see your interface statistics. For an administrator that monitors and fixes troubleshooting problems of a network, this tool is very useful.

Lsof

If you want to see all current files and processes that are currently active, Lsof is the command that you use. The files that are shown include network sockets, disk files, devices and processes. The main reason for using this command is if some file reports that it is being used and you don’t know by what. With this command, you can easily see which files are being used and by whom.

Nload

In certain situations, monitoring traffic will not be enough. Monitoring incoming and outgoing traffic separately will come in handy at a certain point. That’s where the Nload command line comes in. Apart from monitoring incoming and outgoing traffic separately, it also draws out a graph to indicate the same, the scale of which can be adjusted. Nload is mostly used to check total bandwidth usage without the details of individual processes.

Iftop

Iftop works opposite than Nload. Iftop shows the information going through an individual socket connection. By using PCAP library, Iftop captures packets moving in or out through the network adapter and after that, calculates the total bandwidth that is being used.

Tcptrack

Tcptrack is much like Iftop. It also uses PCAP library o capture packets and calculates different statistics, like the bandwidth used in each connection. The difference from Iftop is that it supports standard PCAP filters that can monitor single specified connections.

Vnstat

Vnstat is a tool that is somewhat different than all the other tools. It keeps record of data transferring all the time by running a backgrounddaemon service. If you run Vnstat without any other options involved, it will simply show the entire amount of data transfers that happened since the date the daemon started running.

Top command

Another useful command that is often used by many system administrators to monitor Linux system performance. It can be used almost on any LinuxUnix like operating systems. The top command is used to show all the working and active real time processes in an ordered list that is updated constantly. The things that it shows are memory usage, CPU usage, cache size, buffer size, commands, process PID, user, swap memory and many more. High memory and CPU utilization of a running process are also displayed. The top command is used by an administrator to monitor and take appropriate action when needed.

Nethogs

Nethogs is a smaller version of net top tool. It shows the bandwidth usage of individual processes, and forms a list that puts the processes with the most bandwidth at the top. If a sudden bandwidth spike occurs, instantly call upon the Nethogs command to find the responsible process. Nethogs also reports user, PID and the path of the program.

I hope these command lines help you monitor the network bandwidth on your server. There are a lot more advanced commands that are used for some more complicated processes. To use most of these commands, you will need to login to a remote server. And if this does not suit you as an alternative, you can use web based monitoring tools.

Author Bio: Milan Milenković – IT system support officer at Soneco