fsysinfo
Display filesystem statistics (QNX OS)
Syntax:
fsysinfo [-mvZz] [-L period] [-l period] device|filesystem
Runs on:
QNX OS
Options:
- -L period
 - Loop with the specified period (in milliseconds), displaying the differences in the statistics between iterations.
 - -l period
 - (
el
) Loop with the specified period (in milliseconds). - -m
 - Don't add in metadata (filesystem mountpoint) disk I/O counts.
 - -v
 - Display the versions of io-blk.so and the filesystem.
 - -Z
 - Zero (reset) the statistics, without displaying them.
 - -z
 - Zero (reset) the statistics after reading them.
 
Description:
The fsysinfo utility is a front end to the DCMD_FSYS_STATISTICS devctl() command (defined in <sys/fs_stats.h>, and described in the Devctl and Ioctl Commands reference), which queries a disk filesystem for its statistics. These statistics include disk sectors read and written, the efficiency of internal caches, the count of various system calls made from user code, and so on.
By default, the current statistics are displayed once. There's also a looping mode, in which the utility loops and redisplays the statistics at the specified interval (-l displays the raw values, and -L displays the difference from the previous values). Press CtrlC to exit.
You can reset the statistics to 0 by using -z or -Z (-z displays what the values were prior to being reset, but -Z produces no output and is useful in scripts).
If you specify the -m option, fsysinfo doesn't combine disk I/O statistics from the specified filesystem and its host device/partition; usually this is necessary for many filesystem implementations that internally target metadata updates against the host device and not to a particular higher-level file.
| Section | Statistic | Description | 
|---|---|---|
FILESYS | 
  Mountpoint and type of filesystem | |
MOUNT | 
  mounted | 
  Time that the filesystem was mounted | 
elapsed | 
  Time since the statistics were reset | |
DISK I/O | 
  write | 
  Physical sector writes to the device | 
read | 
  Physical sector reads from the device | |
r/a | 
  Predictive readaheads from the device | |
direct | 
  DCMD_FSYS_DIRECT_IO sectors | |
bad | 
  The number of bad blocks | |
CACHE | 
  write | 
  Sectors delayed-write to buffer cache (blk delwri= commit=) | 
read | 
  Sectors reread from buffer cache | |
rate | 
  Ratio of (CACHE read) : (DISK IO read + r/a) | 
|
mru | 
  The size, in KB, of the Most Recently Used region | |
mfu | 
  The size, in KB, of the Most Frequently Used region | |
ratio | 
  Ratio of (CACHE mru) : (CACHE mfu) | 
|
SYSCALL | 
  open | 
  Number of open() calls | 
stat | 
  Number of stat() or fstat() calls | |
namei | 
  Number of conversions from a pathname to a file | |
write | 
  Number of write() calls | |
read | 
  Number of read() calls | |
devctl | 
  Number of devctl() calls | |
create | 
  Number of creations | |
delete | 
  Number of deletions | |
NAMES | 
  exist | 
  Filenames known to exist (avoid scan) | 
enoent | 
  Filenames known to not exist (avoid scan) | |
misses | 
  Filename unknown (have to scan directory) | |
unsuit | 
  Filename unsuitable for caching (too long or ambiguous) | |
stale | 
  Stale name entry (fsys unmounted or associated vnode recycled) | |
rate | 
  Ratio of (exist + enoent) : (misses
        + unsuit)
   | 
|
BMAP | 
  hit | 
  Known logical to physical block mapping | 
miss | 
  Unknown logical to physical block mapping | |
rate | 
  Ratio of (hit) : (miss) | 
|
VNODES | 
  create | 
  Open of unknown file (must load/build the vnode from the filesystem) | 
hit | 
  Open of a known or recently-used file | |
rate | 
  Ratio of (hit) : (create) | |
lock | 
  Number of locked vnodes | |
recycl | 
  Reuse of cache entry for new file (blk vnode=) | |
SLAB | 
  map | 
  The number of pages mapped in by the heap-allocation subsystem | 
unmap | 
  The number of pages released by the heap-allocation subsystem | |
active | 
  The difference of (map) − (unmap) | 
You can use this information to analyze the efficiency of the various io-blk.so caches, possibly leading to fine-tuning of the driver command-line options (blk cache= ncache= map= vnode=).
Examples:
# fsysinfo /tmp
FILESYS     / (qnx6)
MOUNT       mounted  Mon Sep 21 06:31:21 2009     elapsed 39 secs
DISK I/O    write          0   read           0   r/a            0
            direct         0   bad            0
CACHE       write        328   read       23696   rate        100%
            mru        6792k   mfu        2832k   ratio        29%
SYSCALL     open        1211   stat        1331   namei       2718
            write          3   read        2499   devctl       579
            create         3   delete         3
NAMES       exist       4960   enoent      1096   misses       652
            unsuit         8   stale          1   rate         90%
BMAP        hit         3977   miss         464   rate         89%
VNODES      create       345   hit         7698   rate         95%
            lock       17391   recycl         2
SLAB        map          114   unmap          2   active       112
fsysinfo -Z /fs/hd/tmp
cd /fs/hd/tmp
...
fsysinfo /fs/hd/tmp
fsysinfo -L500 /fs/hd
