Cyberithub

10 Popular nfsstat command examples in Linux for Professionals (Cheatsheet)

In this article, I will take you through 10 Popular nfsstat command examples which can be used by Linux Professionals to check the NFS statistics . If you are using NFS(Network File System) Server in your Organization and facing slowness and other NFS issues then you might want to use nfsstat command to troubleshoot those issues. nfsstat command is used for displaying NFS and RPC Connection Statistics. This tool can be used to display Statistics from both Server as well as from the Client Side.  I will explain you the different usages of nfsstat command in Linux with the help of various examples.

Synopsis

nfsstat [OPTION]…

10 Popular nfsstat command examples in Linux for Professionals (Cheatsheet) 1

nfsstat command examples in Linux

Also Read: Top 20 Elasticsearch API Query for Developers Part – 1

Example 1: How to check nfsstat command version in Linux

If you want to check nfsstat command version then you need to use nfsstat --version command as shown below. As you can see from below output currently installed nfsstat version is 1.3.3.

root@localhost:~# nfsstat --version
nfsstat: 1.3.3

–version : Show program version. More on nfsstat command Man Page.

Example 2: How to Check NFS Client Statistics in Linux

If you want to check NFS Client Statistics then you need to use nfsstat -c command as shown below. From the below output you need to check few of the important parameters like retrans which provide information about retransmission rate. If the retransmission rate is above 0 then client requests are not getting served from NFS Server as RPC are synchronous. Until you have a client request served next client request is blocked from the Server. Hence client will retransmit the request for a specified number of times until it finally quits.

You can find more information about the other output parameters below.

  • calls : Total Number of RPC Calls made.
  • retrans : The number of times a call had to be retransmitted due to a time-out while waiting for a reply from the server.
  • authrefrsh: The number of times the NFS client has called call_refresh() which is basically going out to the RPC server (portmap, rpcbind, etc) and validating its credentials with the server.
  • null : do nothing (debug). Check this IETF RFC Document to know more about this.
  • read : read from file. Check this IETF RFC Document to know more about this.
  • write : write to file
  • commit : commit cached data to stable storage
  • open : open a file
  • open_conf : Confirm Open
  • open_noat : Open Named Attribute Directory
  • open_dgrd : Reduce Open File Access
  • close : Close File
  • setattr : set file attributes
  • fsinfo : get static file system information
  • renew : renew a lease
  • setclntid : Negotiate Client ID
  • lock : Create Lock
  • lockt : Test For Lock
  • locku : lookup file name
  • access : check access permission
  • getattr : get file attributes
  • lookup : Lookup Filename
  • remove : Remove a File
  • rename : Rename a File or Directory
  • link : Create Link to an Object
  • symlink : Create a Symbolic Link
  • create : Create a File
  • pathconf : Retrieve POSIX Information
  • readlink : Read from Symbolic Link
  • readdir : Read from Directory
  • delegreturn : Return Delegations
  • getacl : Get Access List
  • setacl : Set Access List
  • fs_locations : Locations where this file system may be found.
  • secinfo : obtain available security
  • exchange_id : Instantiate Client ID
  • create_ses : creation new session and confirm Client ID
  • destroy_ses : destroy session
  • sequence : Supply Per-Procedure
  • reclaim_comp : Indicates Reclaim Finished.
  • layoutget : Get Layout Information
  • getdevinfo : Get Device Information
  • layoutcommit : Commit Writes Made
  • layoutreturn : Release Layout
  • getdevlist : Get All Devices
[root@localhost ~]# nfsstat -c
Client rpc stats:
calls retrans authrefrsh
45       0       45

Client nfs v4:
null         read        write       commit        open         open_conf
0      0%    0     0%    0       0%  0     0%      0     0%     0       0%
open_noat    open_dgrd   close       setattr       fsinfo       renew
0      0%    0      0%   0       0%  0     0%      3     6%     0       0%
setclntid    confirm     lock        lockt         locku        access
0      0%    0      0%   0       0%  0     0%      0     0%     2       4%
getattr      lookup      lookup_root remove        rename       link
2      4%    3      6%   1        2% 0     0%      0     0%     0       0%
symlink      create      pathconf    statfs        readlink     readdir
0      0%    0      0%   2        4% 0     0%      0     0%     0       0%
server_caps  delegreturn getacl      setacl        fs_locations rel_lkowner
5     11%    0      0%   0        0% 0     0%      0     0%     0       0%
secinfo      exchange_id create_ses  destroy_ses   sequence     get_lease_t
0      0%    0      0%   1        2% 1        2%   0     0%     22      50%
reclaim_comp layoutget   getdevinfo  layoutcommit layoutreturn getdevlist
0      0%    1      2%   0        0% 0        0%  0      0%    0         0%
(null)
1 2%

-c : Show NFS client statistics. More on nfsstat command Man Page.

Example 3: How to Check NFS Server Statistics in Linux

If you want to check NFS Server Statistics in Linux then you need to use nfsstat -s command as shown below. Below are few important output parameters which needs to be checked for any observed NFS issues. If you see badcalls parameter value above 0, then you need to check the connection between NFS Server and Client for any possible Latency.

  • calls : Total number of RPC Calls Received.
  • badcalls : Total number of calls rejected by the RPC layer.
  • badfmt : Most Bad Calls. Check this link to know more about this.
  • badauth : Bad Authentication
  • badclnt : Unused
root@localhost:~# nfsstat -s
Server rpc stats:
calls badcalls badfmt badauth badclnt
45        0      0       0      0

Server nfs v4:
null compound
1 2% 44 97%

Server nfs v4 operations:
op0-unused op1-unused op2-future access close
0       0% 0       0% 0       0% 2   2% 0  0%
commit create delegpurge delegreturn getattr
0   0% 0   0% 0       0% 0        0% 18  19%
getfh link lock lockt locku
4  4% 0 0% 0 0% 0  0% 0  0%
lookup lookup_root nverify open openattr
3   3% 0        0% 0    0% 0 0% 0     0%
open_conf open_dgrd putfh  putpubfh putrootfh
0      0% 0      0% 17 18% 0     0% 2      2%
read         readdir       readlink      remove        rename
0         0% 0          0% 0         0%  0       0%    0         0%
renew        restorefh     savefh        secinfo       setattr
0         0% 0          0% 0         0%  0        0%   0         0%
setcltid     setcltidconf  verify        write         rellockowner
0         0% 0          0% 0         0%   0       0%   0         0%
bc_ctl       bind_conn     exchange_id   create_ses    destroy_ses
0         0% 0          0% 1         1%  1        1%   0         0%
free_stateid getdirdeleg   getdevinfo    getdevlist    layoutcommit
0         0% 0          0% 0         0%  0        0%   0         0%
layoutget    layoutreturn  secinfononam  sequence      set_ssv
0         0% 0          0% 1         1%  42       45%  0         0%
test_stateid want_deleg    destroy_clid  reclaim_comp  allocate
0         0% 0          0% 0         0%  1        1%   0         0%
copy         copy_notify   deallocate    ioadvise      layouterror
0        0%  0          0% 0         0%  0        0%   0         0%
layoutstats  offloadcancel offloadstatus readplus      seek
0        0%  0          0% 0         0%  0        0%   0         0%
write_same
0        0%

-s : Show NFS server statistics. More on nfsstat command Man Page.

Example 4: How to Display Information about mounted NFS File systems

If you want to display all the information about mounted NFS File systems then you need to use nfsstat -m command as shown below. Here 192.168.0.108 is our NFS Server which has /mnt/nfs directory shared and the same is mounted on our Client System(192.168.0.103) over /nfsclient mount point as shown in the output.

[root@localhost ~]# nfsstat -m
/nfsclient from 192.168.0.108:/mnt/nfs
Flags: rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.103,local_lock=none,addr=192.168.0.108

-m : Show statistics on mounted NFS filesystems. More on nfsstat command Man Page.

Example 5: How to Display RPC Statistics in Linux

NFS(Network File System) uses RPC Layer to route communications between NFS Server and client so if you want to show only RPC statistics then you need to use nfsstat -r command as shown below. By default running nfsstat command will show you both RPC as well as NFS Stats.

[root@localhost ~]# nfsstat -r
Client rpc stats:
calls retrans authrefrsh
50       0       50

-r : Show RPC statistics. More on nfsstat command Man Page.

Example 6: How to Display NFS Statistics in Linux

By default nfsstat command will show both NFS and RPC statistics. If you want to check only NFS Statistics then you need to use nfsstat -n command as shown below.

[root@localhost ~]# nfsstat -n
Client nfs v4:
null         read        write       commit       open          open_conf
0         0% 0      0%   0      0%   0       0%   0        0%   0       0%
open_noat    open_dgrd   close       setattr      fsinfo        renew
0         0% 0      0%   0       0%  0       0%   3         5%  0       0%
setclntid    confirm     lock        lockt        locku         access
0         0% 0      0%   0       0%  0       0%   0         0%  2       3%
getattr      lookup      lookup_root remove       rename        link
2         3% 3      5%   1       1%  0       0%   0         0%  0       0%
symlink      create      pathconf    statfs       readlink      readdir
0         0% 0      0%   2       3%  0       0%   0         0%  0       0%
server_caps  delegreturn getacl      setacl       fs_locations  rel_lkowner
5         9% 0      0% 0 0%      0   0%      0    0%         0  0%
secinfo      exchange_id create_ses  destroy_ses  sequence      get_lease_t
0         0% 0      0%   1       1%  1        1%  0          0% 30      57%
reclaim_comp layoutget   getdevinfo  layoutcommit layoutreturn  getdevlist
0         0% 1      1%   0       0%  0        0%  0          0% 0       0%
(null)
1 1%

-n : Show NFS statistics. More on nfsstat command Man Page.

Example 7: How to Show all Information about all version of NFS

If you want to show all the information about NFS version 2, 3 and 4 then you need to use nfsstat -o all -234 command as shown below.

[root@localhost ~]# nfsstat -o all -234
Client packet stats:
packets udp tcp tcpconn
0 0 0 0

Client rpc stats:
calls retrans authrefrsh
57 0 57

Client nfs v2:
null getattr setattr root   lookup  readlink
0 0% 0    0% 0    0% 0  0%  0    0% 0     0%
read wrcache write   create remove  rename
0 0% 0    0% 0    0% 0  0%  0    0% 0     0%
link symlink mkdir   rmdir  readdir fsstat
0 0% 0    0% 0    0% 0  0%  0    0% 0     0%

Client nfs v3:
null    getattr setattr  lookup  access  readlink
0    0% 0    0% 0    0%  0   0%  0    0% 0     0%
read    write   create   mkdir   symlink mknod
0    0% 0    0% 0    0%  0   0%  0    0% 0     0%
remove  rmdir   rename   link    readdir readdirplus
0    0% 0    0% 0    0%  0   0%  0    0% 0     0%
fsstat  fsinfo  pathconf commit
0    0% 0    0% 0    0%  0   0%

Client nfs v4:
null          read        write       commit       open         open_conf
0          0% 0      0%   0       0%  0         0% 0        0%  0       0%
open_noat     open_dgrd   close       setattr      fsinfo       renew
0          0% 0      0%   0       0%  0         0% 3         5% 0       0%
setclntid     confirm     lock        lockt        locku        access
0          0% 0      0%   0       0%  0         0% 0         0% 2       3%
getattr       lookup      lookup_root remove       rename       link
2          3% 3      5%   1       1%  0         0% 0         0% 0       0%
symlink       create      pathconf    statfs       readlink     readdir
0          0% 0      0%   2       3%  0         0%  0        0% 0       0%
server_caps   delegreturn getacl      setacl       fs_locations rel_lkowner
5          8% 0      0%   0       0%  0         0% 0         0% 0       0%
secinfo       exchange_id create_ses  destroy_ses  sequence     get_lease_t
0          0% 0      0%   1       1%  1         1% 0         0% 34      60%
reclaim_comp  layoutget   getdevinfo  layoutcommit layoutreturn getdevlist
0          0% 1      1%   0       0%  0         0% 0         0% 0       0%
(null)
1 1%

-o : Show statistics on particular facilities. More on nfsstat command Man Page.

Example 8: How to Display NFS Stats in List Form

In the above examples you might be checking the nfsstat command output in little descriptive format. If you want to display the output in List format then you need to use nfsstat -l command as shown below.

[root@localhost ~]# nfsstat -l
nfs v4 client total: 85
------------- ------------- --------
nfs v4 client fsinfo: 3
nfs v4 client access: 2
nfs v4 client getattr: 2
nfs v4 client lookup: 3
nfs v4 client lookup_root: 1
nfs v4 client pathconf: 2
nfs v4 client server_caps: 5
nfs v4 client create_ses: 1
nfs v4 client destroy_ses: 1
nfs v4 client get_lease_t: 63
nfs v4 client layoutget: 1
nfs v4 client (null): 1

-l : Prints stats in list format. More on nfsstat command Man Page.

Example 9: How to Check NFS Network Layer Statistics using nfsstat command

If you want to check NFS Network Layer Statistics only then you need to use -o net with nfsstat command as shown below. From the below output you can check useful information like total number of packets, total number of TCP Connections etc. As of now there is no packet transfer happening between Server and Client so all the network stats value are showing 0.

[root@localhost ~]# nfsstat -o net
Client packet stats:
packets udp tcp tcpconn
0       0   0   0

Example 10: How to check all other options of nfsstat command in Linux

If you want to check all the options of nfsstat command then you need to use nfsstat --help command as shown below.

[root@localhost ~]# nfsstat --help
Usage: nfsstat [OPTION]...

-m, --mounts Show statistics on mounted NFS filesystems
-c, --client Show NFS client statistics
-s, --server Show NFS server statistics
-2 Show NFS version 2 statistics
-3 Show NFS version 3 statistics
-4 Show NFS version 4 statistics
-o [facility] Show statistics on particular facilities.
nfs NFS protocol information
rpc General RPC information
net Network layer statistics
fh Usage information on the server's file handle cache
rc Usage information on the server's request reply cache
all Select all of the above
-v, --verbose, --all Same as '-o all'

–help : What you just did. More on nfsstat command Man Page.

 

Popular Recommendations:-

How to Delete Elasticsearch Unassigned Shards in 4 Easy Steps

How to Delete Elasticsearch Red Status Indices in 3 Easy Steps

Understanding Kafka Console Producer and Consumer in 10 Easy Steps

Popular Apache Kafka Architecture Explained Using 4 Basic Components

17 Useful Apache Kafka Examples on Linux (RedHat/CentOS 7/8)

How to Install Apache Kafka on Ubuntu 18.04

How to Install Apache Zookeeper on Ubuntu 18.04

Tutorial: How to do Elasticsearch Backup and Restore (v7.5)

Leave a Comment