| .TH LNSTAT 8 |
| .SH NAME |
| lnstat \- unified linux network statistics |
| .SH SYNOPSIS |
| .B lnstat |
| .RI [ options ] |
| .SH DESCRIPTION |
| This manual page documents briefly the |
| .B lnstat |
| command. |
| .PP |
| \fBlnstat\fP is a generalized and more feature-complete replacement for the old |
| rtstat program. It is commonly used to periodically print a selection of |
| statistical values exported by the kernel. |
| In addition to routing cache statistics, it supports any kind of statistics the |
| linux kernel exports via a file in /proc/net/stat/. |
| .PP |
| Each file in /proc/net/stat/ contains a header line listing the column names. |
| These names are used by \fBlnstat\fP as keys for selecting which statistics to |
| print. For every CPU present in the system, a line follows which lists the |
| actual values for each column of the file. \fBlnstat\fP sums these values up |
| (which in fact are counters) before printing them. After each interval, only |
| the difference to the last value is printed. |
| .PP |
| Files and columns may be selected by using the \fB-f\fP and \fB-k\fP |
| parameters. By default, all columns of all files are printed. |
| .SH OPTIONS |
| lnstat supports the following options. |
| .TP |
| .B \-h, \-\-help |
| Show summary of options. |
| .TP |
| .B \-V, \-\-version |
| Show version of program. |
| .TP |
| .B \-c, \-\-count <count> |
| Print <count> number of intervals. |
| .TP |
| .B \-d, \-\-dump |
| Dump list of available files/keys. |
| .TP |
| .B \-f, \-\-file <file> |
| Statistics file to use, may be specified multiple times. By default all files in /proc/net/stat are scanned. |
| .TP |
| .B \-i, \-\-interval <intv> |
| Set interval to 'intv' seconds. |
| .TP |
| .B \-j, \-\-json |
| Display results in JSON format |
| .TP |
| .B \-k, \-\-keys k,k,k,... |
| Display only keys specified. Each key \fBk\fP is of the form \fB[file:]key\fP. If \fB<file>\fP |
| is given, the search for the given key is limited to that file. Otherwise the first file containing |
| the searched key is being used. |
| .TP |
| .B \-s, \-\-subject [0-2] |
| Specify display of subject/header. '0' means no header at all, '1' prints a header only at start of the program and '2' prints a header every 20 lines. |
| .TP |
| .B \-w, \-\-width n,n,n,... |
| Width for each field. |
| .SH USAGE EXAMPLES |
| .TP |
| .B # lnstat -d |
| Get a list of supported statistics files. |
| .TP |
| .B # lnstat -k arp_cache:entries,rt_cache:in_hit,arp_cache:destroys |
| Select the specified files and keys. |
| .TP |
| .B # lnstat -i 10 |
| Use an interval of 10 seconds. |
| .TP |
| .B # lnstat -f ip_conntrack |
| Use only the specified file for statistics. |
| .TP |
| .B # lnstat -s 0 |
| Do not print a header at all. |
| .TP |
| .B # lnstat -s 20 |
| Print a header at start and every 20 lines. |
| .TP |
| .B # lnstat -c -1 -i 1 -f rt_cache -k entries,in_hit,in_slow_tot |
| Display statistics for keys entries, in_hit and in_slow_tot of field rt_cache every second. |
| |
| .SH FILES |
| .TP |
| .B /proc/net/stat/arp_cache, /proc/net/stat/ndisc_cache |
| Statistics around neighbor cache and ARP. \fBarp_cache\fP is for IPv4, \fBndisc_cache\fP is the same for IPv6. |
| .sp |
| .B entries |
| Number of entries in the neighbor table. |
| .sp |
| .B allocs |
| How many neighbor entries have been allocated. |
| .sp |
| .B destroys |
| How many neighbor entries have been removed. |
| .sp |
| .B hash_grows |
| How often the neighbor (hash) table was increased. |
| .sp |
| .B lookups |
| How many lookups were performed. |
| .sp |
| .B hits |
| How many \fBlookups\fP were successful. |
| .sp |
| .B res_failed |
| How many neighbor lookups failed. |
| .sp |
| .B rcv_probes_mcast |
| How many multicast neighbor solicitations were received. (IPv6 only.) |
| .sp |
| .B rcv_probes_ucast |
| How many unicast neighbor solicitations were received. (IPv6 only.) |
| .sp |
| .B periodic_gc_runs |
| How many garbage collection runs were executed. |
| .sp |
| .B forced_gc_runs |
| How many forced garbage collection runs were executed. Happens when adding an |
| entry and the table is too full. |
| .sp |
| .B unresolved_discards |
| How many neighbor table entries were discarded due to lookup failure. |
| .sp |
| .B table_fulls |
| Number of table overflows. Happens if table is full and forced GC run (see |
| \fBforced_gc_runs\fP) has failed. |
| |
| .TP |
| .B /proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack |
| Conntrack related counters. \fBip_conntrack\fP is for backwards compatibility |
| with older userspace only and shows the same data as \fBnf_conntrack\fP. |
| .sp |
| .B entries |
| Number of entries in conntrack table. |
| .sp |
| .B searched |
| Number of conntrack table lookups performed. |
| .sp |
| .B found |
| Number of \fBsearched\fP entries which were successful. |
| .sp |
| .B new |
| Number of conntrack entries added which were not expected before. |
| .sp |
| .B invalid |
| Number of packets seen which can not be tracked. |
| .sp |
| .B ignore |
| Number of packets seen which are already connected to a conntrack entry. |
| .sp |
| .B delete |
| Number of conntrack entries which were removed. |
| .sp |
| .B delete_list |
| Number of conntrack entries which were put to dying list. |
| .sp |
| .B insert |
| Number of entries inserted into the list. |
| .sp |
| .B insert_failed |
| Number of entries for which list insertion was attempted but failed (happens if |
| the same entry is already present). |
| .sp |
| .B drop |
| Number of packets dropped due to conntrack failure. Either new conntrack entry |
| allocation failed, or protocol helper dropped the packet. |
| .sp |
| .B early_drop |
| Number of dropped conntrack entries to make room for new ones, if maximum table |
| size was reached. |
| .sp |
| .B icmp_error |
| Number of packets which could not be tracked due to error situation. This is a |
| subset of \fBinvalid\fP. |
| .sp |
| .B expect_new |
| Number of conntrack entries added after an expectation for them was already |
| present. |
| .sp |
| .B expect_create |
| Number of expectations added. |
| .sp |
| .B expect_delete |
| Number of expectations deleted. |
| .sp |
| .B search_restart |
| Number of conntrack table lookups which had to be restarted due to hashtable |
| resizes. |
| |
| .TP |
| .B /proc/net/stat/rt_cache |
| Routing cache statistics. |
| .sp |
| .B entries |
| Number of entries in routing cache. |
| .sp |
| .B in_hit |
| Number of route cache hits for incoming packets. Deprecated since IP route |
| cache removal, therefore always zero. |
| .sp |
| .B in_slow_tot |
| Number of routing cache entries added for input traffic. |
| .sp |
| .B in_slow_mc |
| Number of multicast routing cache entries added for input traffic. |
| .sp |
| .B in_no_route |
| Number of input packets for which no routing table entry was found. |
| .sp |
| .B in_brd |
| Number of matched input broadcast packets. |
| .sp |
| .B in_martian_dst |
| Number of incoming martian destination packets. |
| .sp |
| .B in_martian_src |
| Number of incoming martian source packets. |
| .sp |
| .B out_hit |
| Number of route cache hits for outgoing packets. Deprecated since IP route |
| cache removal, therefore always zero. |
| .sp |
| .B out_slow_tot |
| Number of routing cache entries added for output traffic. |
| .sp |
| .B out_slow_mc |
| Number of multicast routing cache entries added for output traffic. |
| .sp |
| .B gc_total |
| Total number of garbage collection runs. Deprecated since IP route cache |
| removal, therefore always zero. |
| .sp |
| .B gc_ignored |
| Number of ignored garbage collection runs due to minimum GC interval not |
| reached and routing cache not full. Deprecated since IP route cache removal, |
| therefore always zero. |
| .sp |
| .B gc_goal_miss |
| Number of garbage collector goal misses. Deprecated since IP route cache |
| removal, therefore always zero. |
| .sp |
| .B gc_dst_overflow |
| Number of destination cache overflows. Deprecated since IP route cache removal, |
| therefore always zero. |
| .sp |
| .B in_hlist_search |
| Number of hash table list traversals for input traffic. Deprecated since IP |
| route cache removal, therefore always zero. |
| .sp |
| .B out_hlist_search |
| Number of hash table list traversals for output traffic. Deprecated since IP |
| route cache removal, therefore always zero. |
| |
| .SH SEE ALSO |
| .BR ip (8), |
| and /usr/share/doc/iproute-doc/README.lnstat (package iproute-doc on Debian) |
| .br |
| .SH AUTHOR |
| lnstat was written by Harald Welte <laforge@gnumonks.org>. |
| .PP |
| This manual page was written by Michael Prokop <mika@grml.org> for the Debian project (but may be used by others). |