Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

The following is a demonstration of the vmstat-p.d script,


We run both vmstat-p.d and the original vmstat(1M) command at the same time
to compare outputs,

 $ vmstat -p 1
      memory           page          executable      anonymous      filesystem
    swap  free  re  mf  fr  de  sr  epi  epo  epf  api  apo  apf  fpi  fpo  fpf
  1144488 142456 2   8   1   0   0    0    0    0    0    0    0    2    1    1
  1063812 84472 18  92   0   0   0    0    0    0    0    0    0    0    0    0
  1050404 75108  0   0   0   0   0    0    0    0    0    0    0    0    0    0
  1050404 75108  0   0   0   0   0    0    0    0    0    0    0    0    0    0
  1050404 75108 476 150  0   0   0    0    0    0    0    0    0    0    0    0
  1050184 74772 73   0   0   0   0    0    0    0    0    0    0  788    0    0
  1050400 74988 2371 173 0   0   0    0    0    0    0    0    0    0    0    0
  1050400 75100 1057 0   0   0   0    0    0    0    0    0    0    0    0    0
  1050400 75100  2   0   0   0   0    0    0    0    0    0    0    4    0    0
  1050400 75100  0   0   0   0   0    0    0    0    0    0    0    0    0    0
  1050400 75100 4529 172 0   0   0    0    0    0    0    0    0  192    0    0
  1050400 75104  0   0   0   0   0    0    0    0    0    0    0  467    0    0
  1050400 75104  0   0   0   0   0    0    0    0    0    0    0    0    0    0

 # ./vmstat-p.d
         memory          page       executable      anonymous    filesystem
      swap    free    re   mf  sr  epi  epo  epf  api  apo  apf  fpi  fpo  fpf
   1050404   75108     8   80   0    0    0    0    0    0    0    0    0    0
   1050404   75108     0    0   0    0    0    0    0    0    0    0    0    0
   1050404   75108     0    0   0    0    0    0    0    0    0    0    0    0
   1050180   74768  2216  608   0    0    0    0    0    0    0  568    0    0
   1050400   74988     4    0   0    0    0    0    0    0    0  228    0    0
   1050400   75100 13852  700   0    0    0    0    0    0    0    0    0    0
   1050400   75100     8    0   0    0    0    0    0    0    0    4    0    0
   1050400   75100     0    0   0    0    0    0    0    0    0    0    0    0
   1050400   75100     0    0   0    0    0    0    0    0    0    0    0    0
   1050400   75104 18480  700   0    0    0    0    0    0    0  668    0    0
   1050400   75104     0    0   0    0    0    0    0    0    0    0    0    0

Above we can see the columns are corresponding well. "re" and "mf" in the
DTrace output appear four times as large as they should be, because in the
DTrace output we are printing Kbs not page counts (for consistancy).

The DTrace output lacks the "summary since boot" line, as it is not using
Kstat to fetch this data.


The vmstat-p.d script is not intended itself as a useful program, rather it
is intended as a starting point for other DTrace scripts; a starting point
of familiar statistics to provide the programmer with a "common ground"
of knowledge.