[BACK]Return to xfs_stats.html CVS log [TXT][DIR] Up to [Development] / xfs-website.orig / manpages

File: [Development] / xfs-website.orig / manpages / xfs_stats.html (download) (as text)

Revision 1.1, Thu Jan 25 19:55:31 2001 UTC (16 years, 9 months ago) by xfs
Branch: MAIN
CVS Tags: HEAD

Man pages update.

<html>
<head>
<meta name="Content-Style" content="text/css">
</head>
<body>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#STATISTICS">STATISTICS</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<!-- Creator     : groff version 1.16.1  -->
<!-- CreationDate: Wed Jan 24 01:42:54 2001
 -->
<!-- Total number of pages: 5 -->
<!-- Page: 1 -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<a name="NAME"></a><h2>NAME</h2><p style="margin-left: 18%"><font size=3>xfs_stats - display XFS performance statistics</font></p>
<a name="SYNOPSIS"></a><h2>SYNOPSIS</h2><p style="margin-left: 18%"><font size=3><B>xfs_stats</B></font> <font size=3>[</font> <font size=3><B>-h</B></font> <font size=3><I>host</I></font> <font size=3>] [</font> <font size=3><B>-a</B></font> <font size=3><I>archive</I></font> <font size=3>]</font></p>
<a name="DESCRIPTION"></a><h2>DESCRIPTION</h2><p style="margin-left: 18%"><font size=3><I>xfs_stats</I></font> <font size=3>uses the /proc interface to extract XFS performance data from the running kernel. Alternatively, the performance data can be sourced from a Performance Co&shy;Pilot (PCP) host running the</font> <font size=3><I>pmcd</I></font><font size=3>(1) daemon or from a PCP archive created by the</font> <font size=3><I>pmlogger</I></font><font size=3>(1) utility.</font></p>
<a name="OPTIONS"></a><h2>OPTIONS</h2><p style="margin-left: 18%"><font size=3><B>-h</B></font> <font size=3><I>host</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The named</font> <font size=3><I>host</I></font> <font size=3>should be the source of live performance data, rather than /proc.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><B>-a</B></font> <font size=3><I>archive</I></font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The historical data contained in the named</font> <font size=3><I>archive</I></font> <font size=3>should be displayed, rather than /proc.</font></p>
</td>
</tr>
</table>
</p>
<a name="STATISTICS"></a><h2>STATISTICS</h2><p style="margin-left: 18%"><font size=3><I>xs_allocx</I></font> <font size=3>(</font><font size=3><B>xfs.allocs.alloc_extent</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of file system extents allocated over all XFS filesystems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_allocb</I></font> <font size=3>(</font><font size=3><B>xfs.allocs.alloc_block</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of file system blocks allocated over all XFS filesystems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_freex</I></font> <font size=3>(</font><font size=3><B>xfs.allocs.free_extent</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of file system extents freed over all XFS filesystems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_freeb</I></font> <font size=3>(</font><font size=3><B>xfs.allocs.free_block</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of file system blocks freed over all XFS filesystems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_abt_lookup</I></font> <font size=3>(</font><font size=3><B>xfs.alloc_btree.lookup</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of lookup operations in XFS filesystem allocation btrees.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_abt_compare</I></font> <font size=3>(</font><font size=3><B>xfs.alloc_btree.compare</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of compares in XFS filesystem allocation btree lookups.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_abt_insrec</I></font> <font size=3>(</font><font size=3><B>xfs.alloc_btree.insrec</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent records inserted into XFS filesystem allocation btrees.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_abt_delrec</I></font> <font size=3>(</font><font size=3><B>xfs.alloc_btree.delrec</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent records deleted from XFS filesystem allocation btrees.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_blk_mapr</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.read_ops</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map for read operations performed on XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_blk_mapw</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.write_ops</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map for write operations performed on XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_blk_unmap</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.unmap</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block unmap (delete) operations performed on XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_add_exlist</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.add_exlist</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent list insertion operations for XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_del_exlist</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.del_exlist</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent list deletion operations for XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_look_exlist</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.look_exlist</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent list lookup operations for XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_cmp_exlist</I></font> <font size=3>(</font><font size=3><B>xfs.block_map.cmp_exlist</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of extent list comparisons in XFS extent list lookups.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_bmbt_lookup</I></font> <font size=3>(</font><font size=3><B>xfs.bmap_btree.lookup</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map btree lookup operations on XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_bmbt_compare</I></font> <font size=3>(</font><font size=3><B>xfs.bmap_btree.compare</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map btree compare operations in XFS block map lookups.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_bmbt_insrec</I></font> <font size=3>(</font><font size=3><B>xfs.bmap_btree.insrec</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map btree records inserted for XFS files.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 2  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<p style="margin-left: 18%"><font size=3><I>xs_bmbt_delrec</I></font> <font size=3>(</font><font size=3><B>xfs.bmap_btree.delrec</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of block map btree records deleted for XFS files.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_dir_lookup</I></font> <font size=3>(</font><font size=3><B>xfs.dir_ops.lookup</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is a count of the number of file name directory lookups in XFS filesystems. It counts only those lookups which miss in the operating system's directory name lookup cache and must search the real directory structure for the name in question. The count is incremented once for each level of a pathname search that results in a directory lookup.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_dir_create</I></font> <font size=3>(</font><font size=3><B>xfs.dir_ops.create</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times a new directory entry was created in XFS filesystems. Each time that a new file, directory, link, symbolic link, or special file is created in the directory hierarchy the count is incremented.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_dir_remove</I></font> <font size=3>(</font><font size=3><B>xfs.dir_ops.remove</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times an existing directory entry was removed in XFS filesystems. Each time that a file, directory, link, symbolic link, or special file is removed from the directory hierarchy the count is incremented.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_dir_getdents</I></font> <font size=3>(</font><font size=3><B>xfs.dir_ops.getdents</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the XFS directory getdents operation was performed. The getdents operation is used by programs to read the contents of directories in a file system independent fashion. This count corresponds exactly to the number of times the getdents(2) system call was successfully used on an XFS directory.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_trans_sync</I></font> <font size=3>(</font><font size=3><B>xfs.transactions.sync</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of meta&shy;data transactions which waited to be committed to the on&shy;disk log before allowing the process performing the transaction to continue. These transactions are slower and more expensive than asynchronous transactions, because they force the in memory log buffers to be forced to disk more often and they wait for the completion of the log buffer writes. Synchronous transactions include file truncations and all directory updates when the file system is mounted with the 'wsync' option.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_trans_async</I></font> <font size=3>(</font><font size=3><B>xfs.transactions.async</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of meta&shy;data transactions which did not wait to be committed to the on&shy;disk log before allowing the process performing the transaction to continue. These transactions are faster and more efficient than synchronous transactions, because they commit their data to the in memory log buffers without forcing those buffers to be written to disk. This allows multiple asynchronous transactions to be committed to disk in a single log buffer write. Most transactions used in XFS file systems are asynchronous.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_trans_empty</I></font> <font size=3>(</font><font size=3><B>xfs.transactions.empty</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of meta&shy;data transactions which did not actually change anything. These are transactions which were started for some purpose, but in the end it turned out that no change was necessary.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_ig_attempts</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_attempts</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system looked for an XFS inode in the inode cache. Whether the inode was found in the cache or needed to be read in from the disk is not indicated here, but this can be computed from the ig_found and ig_missed counts.</font></p>
</td>
</tr>
</table>
 <font size=3><I>xs_ig_found</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_found</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system looked for an XFS inode in the inode cache and found it. The closer this count is to the ig_attempts count the better the inode cache is performing.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_ig_frecycle</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_frecycle</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system looked for an XFS inode in the inode cache and saw that it was there but was unable to use the in memory inode because it was being recycled by another process.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_ig_missed</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_missed</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system looked for an XFS inode in the inode cache and the inode was not there. The further this count is from the ig_attempts count the better.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 3  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<p style="margin-left: 18%"><font size=3><I>xs_ig_dup</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_dup</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system looked for an XFS inode in the inode cache and found that it was not there but upon attempting to add the inode to the cache found that another process had already inserted it.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_ig_reclaims</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_reclaims</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system recycled an XFS inode from the inode cache in order to use the memory for that inode for another purpose. Inodes are recycled in order to keep the inode cache from growing without bound. If the reclaim rate is high it may be beneficial to raise the vnode_free_ratio kernel tunable variable to increase the size of the inode cache.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_ig_attrchg</I></font> <font size=3>(</font><font size=3><B>xfs.inode_ops.ig_attrchg</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times the operating system explicitly changed the attributes of an XFS inode. For example, this could be to change the inode's owner, the inode's size, or the inode's timestamps.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_log_writes</I></font> <font size=3>(</font><font size=3><B>xfs.log.writes</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This variable counts the number of log buffer writes going to the physical log partitions of all XFS filesystems. Log data traffic is proportional to the level of meta&shy;data updating. Log buffer writes get generated when they fill up or external syncs occur.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_log_blocks</I></font> <font size=3>(</font><font size=3><B>xfs.log.blocks</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This variable counts the number of Kbytes of information being written to the physical log partitions of all XFS filesystems. Log data traffic is proportional to the level of meta&shy;data updating. The rate with which log data gets written depends on the size of internal log buffers and disk write speed. Therefore, filesystems with very high meta&shy;data updating may need to stripe the log partition or put the log partition on a separate drive.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_log_noiclogs</I></font> <font size=3>(</font><font size=3><B>xfs.log.noiclogs</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This variable keeps track of times when a logged transaction can not get any log buffer space. When this occurs, all of the internal log buffers are busy flushing their data to the physical on&shy;disk log.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_log_force</I></font> <font size=3>(</font><font size=3><B>xfs.log.force</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of times the in&shy;core log is forced to disk. It is equivalent to the number of successful calls to the function xfs_log_force().</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_log_force_sleep</I></font> <font size=3>(</font><font size=3><B>xfs.log.force_sleep</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value exported from the xs_log_force_sleep field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_xstrat_quick</I></font> <font size=3>(</font><font size=3><B>xfs.xstrat.quick</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of buffers flushed out by the XFS flushing daemons which are written to contiguous space on disk. The buffers handled by the XFS daemons are delayed allocation buffers, so this count gives an indication of the success of the XFS daemons in allocating contiguous disk space for the data being flushed to disk.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_xstrat_split</I></font> <font size=3>(</font><font size=3><B>xfs.xstrat.split</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of buffers flushed out by the XFS flushing daemons which are written to non&shy;contiguous space on disk. The buffers handled by the XFS daemons are delayed allocation buffers, so this count gives an indication of the failure of the XFS daemons in allocating contiguous disk space for the data being flushed to disk. Large values in this counter indicate that the file system has become fragmented.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_write_calls</I></font> <font size=3>(</font><font size=3><B>xfs.write</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of write(2) system calls made to files in XFS file systems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_read_calls</I></font> <font size=3>(</font><font size=3><B>xfs.read</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of read(2) system calls made to files in XFS file systems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_attr_get</I></font> <font size=3>(</font><font size=3><B>xfs.attr.get</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of &quot;get&quot; operations performed on extended file attributes within XFS filesystems. The &quot;get&quot; operation retrieves the value of an extended attribute.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_attr_set</I></font> <font size=3>(</font><font size=3><B>xfs.attr.set</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of &quot;set&quot; operations performed on extended file attributes within XFS filesystems. The &quot;set&quot; operation creates and sets the value of an extended attribute.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 4  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<p style="margin-left: 18%"><font size=3><I>xs_attr_remove</I></font> <font size=3>(</font><font size=3><B>xfs.attr.remove</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of &quot;remove&quot; operations performed on extended file attributes within XFS filesystems. The &quot;remove&quot; operation deletes an extended attribute.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_attr_list</I></font> <font size=3>(</font><font size=3><B>xfs.attr.list</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of &quot;list&quot; operations performed on extended file attributes within XFS filesystems. The &quot;list&quot; operation retrieves the set of extended attributes associated with a file.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_try_logspace</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.try_logspace</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from the xs_try_logspace field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_sleep_logspace</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.sleep_logspace</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from the xs_sleep_logspace field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.pushes</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>The number of times the tail of the AIL is moved forward. It is equivalent to the number of successful calls to the function xfs_trans_push_ail().</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_success</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.success</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_success field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_pushbuf</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.pushbuf</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_pushbuf field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_pinned</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.pinned</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_pinned field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_locked</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.locked</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_locked field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_flushing</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.flushing</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_flushing field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_restarts</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.restarts</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_restarts field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_push_ail_flush</I></font> <font size=3>(</font><font size=3><B>xfs.log_tail.push_ail.flush</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_push_ail_flush field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqreclaims</I></font> <font size=3>(</font><font size=3><B>xfs.quota.reclaims</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqreclaims field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqreclaim_misses</I></font> <font size=3>(</font><font size=3><B>xfs.quota.reclaim_misses</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqreclaim_misses field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dquot_dups</I></font> <font size=3>(</font><font size=3><B>xfs.quota.dquot_dups</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dquot_dups field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqcachemisses</I></font> <font size=3>(</font><font size=3><B>xfs.quota.cachemisses</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqcachemisses field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqcachehits</I></font> <font size=3>(</font><font size=3><B>xfs.quota.cachehits</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqcachehits field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqwants</I></font> <font size=3>(</font><font size=3><B>xfs.quota.wants</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqwants field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqshake_reclaims</I></font> <font size=3>(</font><font size=3><B>xfs.quota.shake_reclaims</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqshake_reclaims field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_qm_dqinact_reclaims</I></font> <font size=3>(</font><font size=3><B>xfs.quota.inact_reclaims</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_qm_dqinact_reclaims field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_iflush_count</I></font> <font size=3>(</font><font size=3><B>xfs.iflush_count</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of calls to xfs_iflush which gets called when an inode is being flushed (such as by bdflush or tail pushing). xfs_iflush searches for other inodes in the same cluster which are dirty and flushable.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_icluster_flushcnt</I></font> <font size=3>(</font><font size=3><B>xfs.icluster_flushcnt</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Value from xs_icluster_flushcnt field of struct xfsstats.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_icluster_flushinode</I></font> <font size=3>(</font><font size=3><B>xfs.icluster_flushinode</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is the number of times that the inode clustering was not able to flush anything but the one inode it was called with.</font></p>
</td>
</tr>
</table>
<br>
</p>

<!-- Page: 5  -->
<!-- left  margin: 220 -->
<!-- right margin: 750 -->
<p style="margin-left: 18%"><font size=3><I>vn_active</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.active</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of vnodes not on free lists.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_alloc</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.alloc</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_alloc called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_get</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.get</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_get called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_hold</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.hold</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_hold called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_rele</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.rele</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_rele called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_reclaim</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.reclaim</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_reclaim called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_remove</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.remove</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_remove called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>vn_free</I></font> <font size=3>(</font><font size=3><B>xfs.vnodes.free</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>Number of times vn_free called.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_write_bytes</I></font> <font size=3>(</font><font size=3><B>xfs.write_bytes</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is a count of bytes written via write(2) system calls to files in XFS file systems. It can be used in conjunction with the write_calls count to calculate the average size of the write operations to files in XFS file systems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_read_bytes</I></font> <font size=3>(</font><font size=3><B>xfs.read_bytes</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is a count of bytes read via read(2) system calls to files in XFS file systems. It can be used in conjunction with the read_calls count to calculate the average size of the read operations to files in XFS file systems.</font></p>
</td>
</tr>
</table>
</p>
<p style="margin-left: 18%"><font size=3><I>xs_xstrat_bytes</I></font> <font size=3>(</font><font size=3><B>xfs.xstrat.bytes</B></font><font size=3>)</font>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="23%">
</p>
</td>
<td valign="top" align="left" width="76%">
<p><font size=3>This is a count of bytes of file data flushed out by the XFS flushing daemons.</font></p>
</td>
</tr>
</table>
</p>
<a name="NOTES"></a><h2>NOTES</h2><p style="margin-left: 18%"><font size=3>Many of these statistics are monotonically increasing counters, and of course are subject to counter overflow (the final three listed above are 64&shy;bit values, all others are 32&shy;bit values). As such they are of limited value in this raw form &shy; if you are interested in monitoring throughput (e.g. bytes read/written per second), or other rates of change, you will be better served by investigating the PCP package more thoroughly &shy; it contains a number of performance analysis tools which can help in this regard.</font></p>
<a name="FILES"></a><h2>FILES</h2>
<table width="99%" rules="none" frame="none" cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td valign="top" align="left" width="18%">
</td>
<td valign="top" align="left" width="81%">
<p><font size=3>/proc/fs/xfs/stat</font></p>
</td>
</tr>
</table>
<a name="SEE ALSO"></a><h2>SEE ALSO</h2><p style="margin-left: 18%"><font size=3>pmcd(1), pmlogger(1), xfs(5), xfs_info(8).</font><br>
</p>
</body>
</html>