01-19-07 12:22 AM
Does anyone have any free memory tools that know about the
filesystem cache and report it as free?
One thing I do is go from client to client teaching them about
filesystem cache and why the "free" column in "vmstat" is
*supposed* to be small.
Another thing is I watch the hosts that do any paging at all and
predict when they will start trashing with more and more paging
consuming their box until performance drops in the toilet.
Yet another thing I do is review the kernel parameters before
starting a new Oracle instance. Will it run out of semaphores
or other limited resources? Some parameters get set for any
number of instances, others grow as the number of running
instances grow.
But what about a host that is not paging now where the client
wants to add another instance? I can review the kernel params
and predict kernel problems. The tools to estimate what will
happen to memory aren't up to the job, at least none of the tools
I've ever seen are.
A tool that knows how to subtract the filesystem cache to give
what most people think of when they say "free memory" would
rule. Now I can use "ipcs -a" and "ps -o rss" then total up the
numbers and compare it with physical RAM. Then subtract out
the MINFREE parameter (spelling adjusted by exact UNIX type).
Then estimate how much more the new instance will consume.
Then I know if adding an instance will push the box frm a state
with near zero paging to a heavily paging state. But it isn't
something I do often (today and maybe 5 years ago) and I'm sure
to forget at least one user of memory (I just now realized I
did not include locked kernel pages today).
I get that filesystem caching is user mode processing not kernel
mode processing so tools that report "free memory" *should*
treat it as included, but that's never what anyone ever means by
the term.
Heck, if anyone knows how to measure the filesystem cache even
for one specific filesystem, that would blow away the method of
backing into my numbers that I just used. One each for UFS, VXFS,
JFS, JFS2, HFS, ReiserFS, EXT2 and so on but no more than a
couple would ever really matter on any one host. Who ever mounts
a FAT32 or NTFS device on a host that runs database instances,
and similar trimming of the field to only need a couple.
[ Post a follow-up to this message ]
|