13.5. Performing Statedump on a Volume

Statedump is a mechanism through which you can get details of all internal variables and state of the glusterFS process at the time of issuing the command. You can perform statedumps of the brick processes and NFS server process of a volume using the statedump command. You can use the following options to determine what information is to be dumped:
  • mem - Dumps the memory usage and memory pool details of the bricks.
  • iobuf - Dumps iobuf details of the bricks.
  • priv - Dumps private information of loaded translators.
  • callpool - Dumps the pending calls of the volume.
  • fd - Dumps the open file descriptor tables of the volume.
  • inode - Dumps the inode tables of the volume.
  • history - Dumps the event history of the volume
To perform a volume statedump
  • Perform statedump of a volume or NFS server using the following command:
    # gluster volume statedump VOLNAME [nfs] [all|mem|iobuf|callpool|priv|fd|inode|history]
    For example, to display statedump of test-volume:
    # gluster volume statedump test-volume
    Volume statedump successful
    The statedump files are created on the brick servers in the /tmp directory or in the directory set using server.statedump-path volume option. The naming convention of the dump file is <brick-path>.<brick-pid>.dump.
  • You can change the directory of the statedump file using the following command:
    # gluster volume set VOLNAME server.statedump-path path
    For example, to change the location of the statedump file of test-volume:
    # gluster volume set test-volume server.statedump-path /usr/local/var/log/glusterfs/dumps/
    Set volume successful
    You can view the changed path of the statedump file using the following command:
    # gluster volume info VOLNAME