Very Large "zero" slab expected?

Paul Mackerras paulus at
Wed Feb 2 10:39:02 EST 2005

Sonny Rao writes:

> Hi, I'm running a fairly heavy database workload using DB/2 on a 4-way
> 720 ontop of ext3 trying to replicate a separate VM performance issue.
> During and after the run, I see a massive about of slab memory being
> used by the "zero" cache, which appears to a be a ppc64 specific
> cache for pmd's and pgd's.  
> Basically, about 1GB out of my total of 8GB on the system is being
> consumed by this.  Is this expected ?  It seems excessive
> considering my mapped memory is only about 2GB during the run.
> The DB/2 buffer pool was set to 4GB and none of it used hugh pages.

How many DB/2 processes had the buffer pool mapped?  It was probably
100 or more, I would guess.  The zero slab cache is used for pte pages
as well as pmds and pgds, and each process will have a separate page
table tree, which will occupy about 1/500th or so of the amount of
mapped memory, per process.  So if you had ~125 processes the page
table trees would occupy about 1GB for a 4GB buffer pool.

The solution is to implement shared page tables.  Some people here in
the LTC are looking at possibly doing that, but getting it accepted
into mainline could be tricky.


More information about the Linuxppc64-dev mailing list