Re: Better pagecache statistics ?

Marcelo Tosatti
2005-12-01T18:15:25Z

> > I thought that it would be easy to use SystemTap for a such
> > a purpose?
> >
> > The sys_read/sys_write example at
> > http://www.redhat.com/magazine/011sep05/features/systemtap/ sounds
> > interesting.
> >
> > What I'm I missing?
>
> Well, Few things:
>
> 1) We have to have those probes present in the system all the time
> collecting the information when read/write happens, maintaining it
> and spitting it out. Since its kernel probe, all this data will be
> in the kernel.

Yeah, there is some overhead.

> 2) If we want to do this accounting (and you don't have those probes
> installed already) - we can't capture what happened earlier.

I suppose that the vast majority of situations where such information is
needed are special anyway?

Why do you need it around all the time?

> 3) probing sys_read/sys_write() are going to tell you how much
> a data a process did read or wrote - but its not going to tell you
> how much is in the cache (now or 10 minutes later).

Sure, that was just an example - need to insert probes
on the correct places.

> > > My final goal is to get stats like ..
> > >
> > > Out of "Cached" value - to get details like
> > >
> > > <mmap> - xxx KB
> > > <shared mem> - xxx KB
> > > <text, data, bss, malloc, heap, stacks> - xxx KB
> > > <filecache pages total> -- xxx KB
> > > (filename1 or <dev>, <ino>) -- #of pages
> > > (filename2 or <dev>, <ino>) -- #of pages
> > >
> > > This would be really powerful on understanding system better.
> > >
> > > Don't you think ?
> >
> > Yep... /proc/<pid>/smaps provides that information on a per-process
> > basis already.
>
> /proc/pid/smaps will give me information about text,data,shared libs,
> malloc etc. Not the filecache information about files process opened,
> pages read/wrote currently in the pagecache. Isn't it ?

Right.