Well, 4270983830 = 0xFE920A96 -- curiously close to the 32-bit
wraparound at 0xFFFFFFFF, eh? It looks like its cousin's value has
already wrapped. These sure look like 32-bit unsigned counters!
You'll fare better to start by taking the *deltas* over an interval. If
a delta over an interval if negative, that counter has wrapped and you
will need to adjust that delta appropriately (ie: delta = ((0xFFFFFFFF -
v(t1)) + v(t2)) rather than (delta = v(t2) - v(t1))). Of course, one must
use a delta-t that does not allow for more than one wraparound! ;-)
Are you on SPARC or x64? On x64, the segmapsize defaults to the
pathetic value of 64 MB! Perhaps that's the devil you are chasing?
See http://www.solarisinternals.com/wiki/index.php/Segmap_tuning
for more info, but take that "12%" guidance with a grain of salt. If
you expect your system to use 60% of its memory for filesystem cache,
set its segmapsize closer to that, perhaps more like 42% than 12%
of your physical RAM. You might illustrate once-again that 42 really
*is* The Answer to Life, the Universe, and Everything ...
HTH,
-- Bob
Dale Ghent wrote:
... properly that is :)
I'm monitoring some very busy NFS clients and would like to graph the
segmap cache hits and misses. I took a look inside the code of the
segmapstat script included in Mr. Gregg's CacheKit collection, and I'm
getting some negative misses values in the results.
The hits and misses are being calculated in segmapstat as such:
hits = get_reclaim + get_use
misses = getmap - hits
The get_reclaim, get_use, and getmap are kstats (see 'kstat -m unix -n
segmap')
The problem I have on some servers is that the value for misses is
negative because the value for hits is far larger than the value of
getmap. Is this really a valid scenario?
Going on the above equation with data from an example server:
get_reclaim = 4259681823
get_use = 11302007
getmap = 842307023
So:
hits = 4259681823 + 11302007 = 4270983830
misses = 842307023 - 4270983830 = -3428676807
This doesn't seem right. Well, it *isn't* right. I don't know how one
could have negative anything in the context of counting cache hits and
misses. Any thoughts? Are there other kstats I should be looking at to
derive these values?
/dale
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org