Manual Pages
Table of Contents
na_nfsstat - display NFS statistics
nfsstat interval
nfsstat -h [ ip_address | host_name ]
nfsstat -l
nfsstat -z
nfsstat -d
nfsstat [ -c ] [ -t ]
nfsstat displays statistical information about NFS (Network
File System) and RPC (Remote Procedure Call) for the
filer. That includes statistics for NFS versions 2, 3 and
4. It can also be used to reinitialize this information.
If no arguments are given, nfsstat displays statistical
information since last zeroed with the -z option (or since
reboot if statistics have not been zeroed).
If the interval argument is specified, nfsstat continuously
displays the summary information for the following
NFS requests: getattr, lookup, readlink, read, write, create,
remove, and readdir/readdirplus. The first line of
data displayed, and every 20th line thereafter, contains
cumulative statistics. Each subsequent line shows incremental
statistics for the interval (in seconds) since the
last display.
Per-client statistics can also be collected and displayed
by enabling the nfs.per_client_stats.enable options (using
the options command - see na_options(1)) and invoking nfsstat
with the -h or the -l options. Per-client statistics
are collected for up to the first 256 NFS clients that
have mounted the filesystem on the given filer.
- -h
- Displays per-client statistics since last zeroed
with the -z option (or since reboot if statistics
have not been zeroed). The statistics are displayed
on a per-client basis, with the IP address
and host name (where available) of each client
being displayed at the head of each client's block
of statistics.
If an optional IP address or host name is specified
with the -h option, only the statistics associated
with this client are displayed.
Statistics for read and write sizes are also displayed
as number of read or write requests made by
each client grouped by size of request. Without
this option, the cumulative statistics for all
clients are displayed.
- -l
- Displays a list of the clients whose statistics
have been collected on a per-client basis, along
with the total NFS calls for that client since last
reboot, or last zeroed with the -z option, the
count being displayed both as the actual count and
as a percentage of calls from all clients.
- -z
- Zeroes (reinitializes) the current cumulative and
per client statistics. (However, statistics since
boot are also retained.) The per clients statistics
also get reinitialized when
nfs.per_client_stats.enable option is turned off.
- -c
- Includes reply cache statistics in the data displayed.
The reply cache is used to cache replies to
non-idempotent nfs requests, so that in case of a
retransmit, the correct reply can be sent back to
the client. Non-idempotent operations do not return
same results if repeated e.g. remove, create. The
various fields displayed are:
- In Progress
- Number of requests which were
being processed at the time
retransmit requests ware
received for them.
- Delay Hits
- Number of requests which were
dropped because they came in
within nfs_rc_delay of sending
out the reply. This field is
deprecated. A zero value will
always be printed for this
field. This is to maintain
backward compatibility with
previous ONTAP releases.
- Misses
- Number of requests that were
not found in the reply cache.
These also include requests
coming in for the first time.
- Idempotent
- Number of idempotent requests
saved in the reply cache for
the purpose of improving performance.
Non-idempotent Number of non-idempotent
requests replied to from the
reply cache.
- -t
- Displays the statistics since boot time, rather
than since the last time they were zeroed.
- -d
- In addition to reply cache statistics, also
includes statistics about incoming messages and
allocated mbufs. The various fields displayed are:
- nfs cache size
- NFS reply cache size. The cache
size depends on the Filer memory.
- hash size
- NFS reply cache hash size.
- num msg
- Number of incoming requests
(over UDP) dropped because
there are no free entries in
the NFS operation table.
- too many mbufs
- Number of requests (over UDP)
dropped because they require
more mbufs than are available.
- rpcErr
- Total number of rpc errors
encountered while generating
the rpc reply header.
- svrErr
- Total number of RPC errors
encountered while processing
the request.
- msg queued
- Total number of requests (over
TCP) waiting to be processed.
Requests can get queued up when
the filesystem is busy doing
back to back CPs.
- no msg paused
- This is always set to zero.
- no msg dropped
- Number of incoming requests
(over UDP) dropped because
there are no free entries
available in the NFS operation
table. Its the same as num msg.
Requests can be dropped when
the filesystem is busy doing
back to back CPs.
- no msg unqueued
- Number of requests unqueued
from the deferred list waiting
to be processed.
- no msg discarded
- Number of requests dropped
because of a timeout or shutdown
of the socket.
- sbfull queued
- Number of requests queued
because the send buffer is
full.
- sbfull unqueued
- Number of requests unqueued
when space available in the
send buffer.
- sbfull discarded
- Number of requests waiting on a
full send buffer dropped
because of a forced shutdown of
the socket.
- no mbuf queued
- Number of requests (over TCP)
waiting for mbufs to send a
reply.
- no mbuf dropped
- Number of requests (over UDP)
dropped because of unavailability
of enough mbufs to send a
reply.
- no mbuf unqueued
- Number of requests (over TCP)
processed from the wait queue
when enough mbufs become available.
no mbuf discarded Number of requests (over TCP)
waiting for mbufs dropped
because nothing can be sent
over the socket. This can happen
if the socket is closing.
(cumulative) active Two values are printed here.
The maximum (cumulative) number
of entries available in the NFS
operation table and the total
number of entries processing
requests at that time.
- req mbufs
- Number of mbufs allocated for
an incoming NFS request over
UDP.
tcp input flowcontrol receive
Number of times the Filer went
into receive flow control.
tcp input flowcontrol xmit
Number of times the Filer went
into transmit flow control.
- no delegation
- Number of times no delegation
was handed out due to some
error.
- read delegation
- Number of read delegations
handed out to NFS version 4
clients.
The server RPC display includes the following fields, with
separate values for TCP and UDP:
- calls
- The total number of RPC calls received.
badcalls The total number of calls rejected by the
RPC layer (the sum of badlen and xdrcall
as defined below).
nullrecv The number of times an RPC call was not
available when it was thought to be
received.
- badlen
- The number of RPC calls with a length
shorter than a minimum-sized RPC call.
Also counts the number of RPC requests
over the TCP transport with illegal
record lengths, such as those that are
too small, too large, or not a multiple
of the base XDR encoding unit (4 bytes).
xdrcall The number of RPC calls whose header
could not be XDR decoded.
The server NFS display shows the number of NFS calls
received (calls) and rejected (badcalls), and the counts
and percentages for the various calls that were made.
An NFSV4 compound request can contain more than one operations.
Therefore, the nfsstat command displays the total
number of rpc requests received by the server (calls) as
well as the total operations (ops) received in all the
compound requests.
Only a count is displayed for NULL and COMPOUND requests.
Percentages are displayed for all operations received in
COMPOUND requests relative to the total number of operations.
The total calls displayed under the TCP, UDP and
Server nfs headings represents the sum of all RPC requests
received from NFSV2, NFSV3 and NFSV4 clients and do not
take into account any operations in COMPOUND requests.
nfsstat -l reports unexpected percentages, if the
nfs.per_client_stats.enable option is enabled after the
system has been running for a while (typically this option
should be enabled at system startup time via the /etc/rc
file). Resetting the statistics via the nfsstat -z command
will clear this condition.
In takeover mode, the nfsstat command displays combined
statistics for the live filer and the failed filer. From
the statistics, you cannot determine how many requests
were serviced by the live filer and how many requests were
serviced on behalf of the failed filer.
The -h and -l options display the combined client information
for both the live filer and the failed filer.
The NFS statistics are cumulative. That is, a giveback
operation does not zero out the NFS statistics. After giving
back the failed filer's resources, the live filer does
not subtract the statistics about NFS operations it performed
on behalf of the failed filer when it was in
takeover mode.
When run from a vfiler context, (e.g. via the vfiler run
command), nfsstat operates on the concerned vfiler. Note
that if vfilers are licensed when using the -h and -l
options it is necessary to run this command from a vfiler
context, since the interpretations of the hosts are dependent
on the vfiler.
na_netstat(1), na_options(1), na_partner(1), na_vfiler(1),
na_sysstat(1).
Table of Contents