Man Linux: Main Page and Category List


       getc_putc - program to test hard drive performance.


       getc_putc    [-d    dir]   [-s   size(KiB)]   [-m   machine-name]   [-u
       uid-to-use:gid-to-use] [-g gid-to-use]


       This manual page documents briefly the getc_putc, program.

       This is a simple adjunct to the bonnie++ benchmark.  It is used to test
       various  ways of doing IO one byte at a time, usually you don’t need to
       do enough of this for it to be a performance issue  for  it  to  matter
       much  which  way  you do it.  But sometimes it’s necessary (for example
       whan parsing IO from a terminal  and  then  launching  another  process
       which will take over all IO, such as a simple shell).

       The  real benefits of this are to help settle some arguements about the
       performance of such things, and to educate novices about how  bad  per-
       byte IO really is.


       For  getc_putc  every  option  is of the form of a hyphen followed by a
       letter and then the next parameter contains the value.

       -d     the directory to use for the tests.

       -s     the size of  the  file  for  byte  IO  performance  measured  in
              kilobytes.  NB You can specify the size in mega-bytes if you add
              ’m’ to the end of the number.

              The default for this test is to test with a 40MiB file.  Of  the
              file  only 1/32 of it will be used for write() and read() system
              calls (anything else takes too long), and only 1/4 of it will be
              used for locked getc() and putc().

       -m     name of the machine - for display purposes only.

       -u     user-id to use.  When running as root specify the UID to use for
              the tests.  It is not recommended to use root, so if you  really
              want  to  run  as  root  then  use -u root.  Also if you want to
              specify the group to run as then use the user:group format.   If
              you  specify  a user by name but no group then the primary group
              of that user will be chosen.  If you specify a  user  by  number
              and no group then the group will be nogroup.

       -g     group-id  to  use.   Same  as using :group for the -u parameter,
              just a different way to specify it for compatibility with  other

       -q     quiet  mode.  If  specified then some of the extra informational
              messages will be suppressed. Also the csv data will be the  only
              output  on  standard  out  and  the  plain  text data will be on
              standard error. This means you can run getc_putc -q >>  file.csv
              to record your csv data.


       The primary output is plain-text in 80 columns which is designed to fit
       well when pasted into email and  which  will  work  well  with  Braille

       The  second  type  of output is CSV (Comma Seperated Values).  This can
       easily be imported into any spread-sheet or database program.

       For every test the result is a speed in KiB/s.  I do  not  display  the
       CPU  time because it presumably is 99% of the power of a single CPU (or
       something very close to that).


       This program, it’s manual page, and the Debian package were written  by
       Russell Coker <>.

       The  documentation,  the Perl scripts, and all the code for testing the
       creation of thousands of files was written by Russell  Coker,  but  the
       entire package is under joint copyright with Tim Bray.


       Handles  SIGINT and does a cleanup (which may take some time), a second
       SIGINT or a SIGQUIT will cause it to immidiately die.

       SIGXCPU and SIGXFSZ act like SIGINT.

       Ignores SIGHUP.


       The source is available from .

       See     for     further


       bonnie++(8), zcav(8)