Introduction
nicstat is to network interfaces as “iostat” is to disks, or “prstat” is to processes. It is designed as a much better version of “netstat -i”. Its differences include:
- Reports bytes in & out as well as packets.
- Normalizes these values to per-second rates.
- Reports on all interfaces (while iterating)
- Reports Utilization (rough calculation as of now)
- Reports Saturation (also rough)
- Prefixes statistics with the current time
With the help from
nicstat
, we can identify whether distributed Java application is saturating the network by view the utilization percentage of specific interface.
Download
Sourceforge Download Link
Build
Following the guide of README.txt, we build like following:
$ mv Makefile.Linux Makefile
$ make
mv nicstat `./nicstat.sh --bin-name`
Install
$ make install
gcc -O3 -m32 nicstat.c -o nicstat
In file included from /usr/include/features.h:392:0,
from /usr/include/stdio.h:27,
from nicstat.c:33:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
^
compilation terminated.
<builtin>: recipe for target 'nicstat' failed
make: *** [nicstat] Error 1
As
this question noted, I need to install a libc package.
You’re missing the 32 bit libc dev package:
On Ubuntu it’s called libc6-dev-i386 - do sudo apt-get install libc6-dev-i386. See below for extra instructions for Ubuntu 12.04.
On Red Hat distros, the package name is glibc-devel.i686 (Thanks to David Gardner’s comment)
On CentOS 5.8, the package name is glibc-devel.i386 (Thanks to JimKleck’s comment)
On CentOS 6 / 7, the package name is glibc-devel.i686.
On SLES it’s called glibc-devel-32bit - do zypper in glibc-devel-32bit
Now we can try it in console:
$ nicstat
Time Int rKB/s wKB/s rPk/s wPk/s rAvs wAvs %Util Sat
14:35:13 wlp3s0 4.02 0.65 4.20 3.65 979.4 182.7 0.00 0.00
14:35:13 lo 2.44 2.44 4.51 4.51 554.1 554.1 0.00 0.00
Ref
Written with StackEdit.
评论
发表评论