17.2. Running the Volume Top Command The volume top command allows you to view the glusterFS bricks' performance metrics, including read, write, file open calls, file read calls, file write calls, directory open calls, and directory real calls. The volume top command displays up to 100 results. This section describes how to use the volume top command. 17.2.1. Viewing Open File Descriptor Count and Maximum File Descriptor Count You can view the current open file descriptor count and the list of files that are currently being accessed on the brick with the volume top command. The volume top command also displays the maximum open file descriptor count of files that are currently open, and the maximum number of files opened at any given point of time since the servers are up and running. If the brick name is not specified, then the open file descriptor metrics of all the bricks belonging to the volume displays. To view the open file descriptor count and the maximum file descriptor count, use the following command: # gluster volume top VOLNAME open [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the open file descriptor count and the maximum file descriptor count on brick server:/export on test-volume , and list the top 10 open calls: 17.2.2. Viewing Highest File Read Calls You can view a list of files with the highest file read calls on each brick with the volume top command. If the brick name is not specified, a list of 100 files are displayed by default. To view the highest read() calls, use the following command: # gluster volume top VOLNAME read [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the highest read calls on brick server:/export of test-volume : 17.2.3. Viewing Highest File Write Calls You can view a list of files with the highest file write calls on each brick with the volume top command. If the brick name is not specified, a list of 100 files displays by default. To view the highest write() calls, use the following command: # gluster volume top VOLNAME write [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the highest write calls on brick server:/export of test-volume : 17.2.4. Viewing Highest Open Calls on a Directory You can view a list of files with the highest open calls on the directories of each brick with the volume top command. If the brick name is not specified, the metrics of all bricks belonging to that volume displays. To view the highest open() calls on each directory, use the following command: # gluster volume top VOLNAME opendir [brick BRICK-NAME ] [list-cnt cnt ] For example, to view the highest open calls on brick server:/export/ of test-volume : 17.2.5. Viewing Highest Read Calls on a Directory You can view a list of files with the highest directory read calls on each brick with the volume top command. If the brick name is not specified, the metrics of all bricks belonging to that volume displays. To view the highest directory read() calls on each brick, use the following command: # gluster volume top VOLNAME readdir [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the highest directory read calls on brick server:/export/ of test-volume : 17.2.6. Viewing Read Performance You can view the read throughput of files on each brick with the volume top command. If the brick name is not specified, the metrics of all the bricks belonging to that volume is displayed. The output is the read throughput. This command initiates a read() call for the specified count and block size and measures the corresponding throughput directly on the back-end export, bypassing glusterFS processes. To view the read performance on each brick, use the command, specifying options as needed: # gluster volume top VOLNAME read-perf [bs blk-size count count ] [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the read performance on brick server:/export/ of test-volume , specifying a 256 block size, and list the top 10 results: 17.2.7. Viewing Write Performance You can view the write throughput of files on each brick or NFS server with the volume top command. If brick name is not specified, then the metrics of all the bricks belonging to that volume will be displayed. The output will be the write throughput. This command initiates a write operation for the specified count and block size and measures the corresponding throughput directly on back-end export, bypassing glusterFS processes. To view the write performance on each brick, use the following command, specifying options as needed: # gluster volume top VOLNAME write-perf [bs blk-size count count ] [nfs | brick BRICK-NAME ] [list-cnt cnt ] For example, to view the write performance on brick server:/export/ of test-volume , specifying a 256 block size, and list the top 10 results:

Commands:
gluster volume top test open brick server:/bricks/brick1/test list-cnt 10 Brick: server/bricks/brick1/test Current open fds: 2, Max open fds: 4, Max openfd time: 2020-10-09 05:57:20.171038 Count filename ======================= 2 /file222 1 /file1
gluster volume top testvol_distributed-dispersed read brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Count filename ======================= 9 /user11/dir1/dir4/testfile2.txt 9 /user11/dir1/dir1/testfile0.txt 9 /user11/dir0/dir4/testfile4.txt 9 /user11/dir0/dir3/testfile4.txt 9 /user11/dir0/dir1/testfile0.txt 9 /user11/testfile4.txt 9 /user11/testfile3.txt 5 /user11/dir2/dir1/testfile4.txt 5 /user11/dir2/dir1/testfile0.txt 5 /user11/dir2/testfile2.txt
gluster volume top testvol_distributed-dispersed write brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Count filename ======================= 8 /user12/dir4/dir4/testfile3.txt 8 /user12/dir4/dir3/testfile3.txt 8 /user2/dir4/dir3/testfile4.txt 8 /user3/dir4/dir4/testfile1.txt 8 /user12/dir4/dir2/testfile3.txt 8 /user2/dir4/dir1/testfile0.txt 8 /user11/dir4/dir3/testfile4.txt 8 /user3/dir4/dir2/testfile2.txt 8 /user12/dir4/dir0/testfile0.txt 8 /user11/dir4/dir3/testfile3.txt
gluster volume top testvol_distributed-dispersed opendir brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Count filename ======================= 3 /user2/dir3/dir2 3 /user2/dir3/dir1 3 /user2/dir3/dir0 3 /user2/dir3 3 /user2/dir2/dir4 3 /user2/dir2/dir3 3 /user2/dir2/dir2 3 /user2/dir2/dir1 3 /user2/dir2/dir0 3 /user2/dir2
gluster volume top testvol_distributed-dispersed readdir brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Count filename ======================= 4 /user6/dir2/dir3 4 /user6/dir1/dir4 4 /user6/dir1/dir2 4 /user6/dir1 4 /user6/dir0 4 /user13/dir1/dir1 4 /user3/dir4/dir4 4 /user3/dir3/dir4 4 /user3/dir3/dir3 4 /user3/dir3/dir1
gluster volume top testvol_distributed-dispersed read-perf bs 256 count 1 brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Throughput 10.67 MBps time 0.0000 secs MBps Filename Time ==== ======== ==== 0 /user2/dir3/dir2/testfile3.txt 2021-02-01 15:47:35.391234 0 /user2/dir3/dir2/testfile0.txt 2021-02-01 15:47:35.371018 0 /user2/dir3/dir1/testfile4.txt 2021-02-01 15:47:33.375333 0 /user2/dir3/dir1/testfile0.txt 2021-02-01 15:47:31.859194 0 /user2/dir3/dir0/testfile2.txt 2021-02-01 15:47:31.749105 0 /user2/dir3/dir0/testfile1.txt 2021-02-01 15:47:31.728151 0 /user2/dir3/testfile4.txt 2021-02-01 15:47:31.296924 0 /user2/dir3/testfile3.txt 2021-02-01 15:47:30.988683 0 /user2/dir3/testfile0.txt 2021-02-01 15:47:30.557743 0 /user2/dir2/dir4/testfile4.txt 2021-02-01 15:47:30.464017
gluster volume top testvol_distributed-dispersed write-perf bs 256 count 1 brick `hostname`:/bricks/brick1/testvol_distributed-dispersed_brick1/ list-cnt 10 Brick: server/bricks/brick1/testvol_distributed-dispersed_brick1 Throughput 3.88 MBps time 0.0001 secs MBps Filename Time ==== ======== ==== 0 /user12/dir4/dir4/testfile4.txt 2021-02-01 13:30:32.225628 0 /user12/dir4/dir4/testfile3.txt 2021-02-01 13:30:31.771095 0 /user12/dir4/dir4/testfile0.txt 2021-02-01 13:30:29.655447 0 /user12/dir4/dir3/testfile4.txt 2021-02-01 13:30:29.62920 0 /user12/dir4/dir3/testfile3.txt 2021-02-01 13:30:28.995407 0 /user2/dir4/dir4/testfile2.txt 2021-02-01 13:30:28.489318 0 /user2/dir4/dir4/testfile1.txt 2021-02-01 13:30:27.956523 0 /user2/dir4/dir3/testfile4.txt 2021-02-01 13:30:27.34337 0 /user12/dir4/dir3/testfile0.txt 2021-02-01 13:30:26.699984 0 /user3/dir4/dir4/testfile2.txt 2021-02-01 13:30:26.602165