[Crash-utility] Incorrect HighMem statistics

Petr Tesarik ptesarik at suse.cz
Thu Jan 12 22:12:22 UTC 2012


Dne Čt 12. ledna 2012 22:59:14 Dave Anderson napsal(a):
> ----- Original Message -----
> 
> > Hi all,
> > 
> > it seems crash shows incorrect HighMem stats with recent kernels.
> > E.g.:
> > 
> > crash> kmem -i
> > [...]
> > TOTAL HIGH  1821682       6.9 GB   93% of TOTAL MEM
> > 
> >  FREE HIGH        0            0    0% of TOTAL HIGH
> >  TOTAL LOW   132983     519.5 MB    6% of TOTAL MEM
> >  
> >   FREE LOW  1333474       5.1 GB  1002% of TOTAL LOW
> > 
> > BTW note that total low is smaller than free low, which is obviously
> > incorrect. I believe that this is somehow related to the Movable zone,
> > because the code that counts free low pages checks for pages which
> > belong to
> > 
> > ZONE_HIGHMEM, which is initialized as:
> >                 vt->ZONE_HIGHMEM = vt->nr_zones - 1;
> > 
> > My system has 4 zones:
> > 
> > ZONE  NAME         SIZE   MEM_MAP  START_PADDR  START_MAPNR
> > 
> >   0   DMA          4080  f4a02200        10000            0
> >   1   Normal     221694  f4a22000      1000000         4080
> >   2   HighMem    790002  f50e5fc0     371fe000       225774
> >   3   Movable         0         0            0            0
> > 
> > And indeed, "help -v" shows:
> > [...]
> > 
> >     dump_free_pages: dump_free_pages_zones_v2()
> > 
> > [...]
> > 
> >        ZONE_HIGHMEM: 3
> > 
> > I don't know yet how to fix this, but maybe somebody can push me in
> > the right
> > direction.
> 
> Seems like you're already headed down the right path with the
> vt->ZONE_HIGHMEM initialization, at least w/respect to the
> FREE HIGH of "0".  On the other hand, I'm looking at a recent
> x86 kernel with the Movable zone, and it has normal
> looking statistics w/respect to total-low/free-low.

Interesting. What does "kmem -n" show? How is your ZONE_HIGHMEM reported by 
"help -v"?

Petr Tesarik
SUSE Linux




More information about the Crash-utility mailing list