[Toybox] New toy: vmstat
Elie De Brauwer
eliedebrauwer at gmail.com
Mon Apr 9 04:39:14 PDT 2012
Hello all,
In attachment you can find a no-nonsense vmstat implementation. Meaning
most of the special things (which I personally never bothered to use)
are dropped. (vmstat -d however is still under consideration, please
shout if you're waiting for a vmstat -d or any other options).
The information is gathered from procfs and assumes linux >2.6.x. One
last comment is vmstat's dreaded first line where it tries to average
the counters (where possible) is imho just broken.
Observe the snippet below:
edb at lapedb:~/today$ cat /proc/stat | grep ctxt ; cat /proc/uptime ; vmstat
ctxt 3021508
2317.09 17079.93
procs -----------memory---------- ---swap-- -----io---- -system--
----cpu----
r b swpd free buff cache si so bi bo in cs us sy
id wa
0 0 0 5773748 71032 1915324 0 0 100 83 126 163 6
1 92 1
Here I would expect the summary line to display the number of context
switchs per second which is 3021508/2317 = 1304. However vmstat states
this as 163. Now let's do some magic 163*8 = 1304. (Where 8 is the
number of cpu's my laptop shows). Hence the result they give is number
per second per core. While consecutive runs show the total value per
second. So I ended up implementing the first line as something which is
(in imho) what is was supposed to be. I will throw this odd behavior of
vmstat back upstream.
my 2 cents, feedback welcome.
gr
E.
--
Elie De Brauwer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vmstat.patch
Type: text/x-patch
Size: 7677 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20120409/2c86d730/attachment-0006.bin>
More information about the Toybox
mailing list