Re: makedumpfile memory usage grows with system memory size

Atsushi Kumagai
2012-03-30T09:45:17Z

Hello Don,

> > On Thu, 29 Mar 2012 09:05:14 -0400
> > Don Zickus <dzickus@redhat.com> wrote:
> >
> > > Hi Ken'ichi-san,
> > >
> > > On Thu, Mar 29, 2012 at 05:09:18PM +0900, Ken'ichi Ohmichi wrote:
> > > >
> > > > Hi Don-san,
> > > >
> > > > On Wed, 28 Mar 2012 17:22:04 -0400
> > > > Don Zickus <dzickus@redhat.com> wrote:
> > > > >
> > > > > I was talking to Vivek about kdump memory requirements and he mentioned
> > > > > that they vary based on how much system memory is used.
> > > > >
> > > > > I was interested in knowing why that was and again he mentioned that
> > > > > makedumpfile needed lots of memory if it was running on a large machine
> > > > > (for example 1TB of system memory).
> > > > >
> > > > > Looking through the makedumpfile README and using what Vivek remembered of
> > > > > makedumpfile, we gathered that as the number of pages grows, the more
> > > > > makedumpfile has to temporarily store the information in memory. The
> > > > > possible reason was to calculate the size of the file before it was copied
> > > > > to its final destination?
> > > >
> > > > makedumpfile uses the system memory of 2nd-kernel for a bitmap if RHEL.
> > > > The bitmap represents each page of 1st-kernel is excluded or not.
> > > > So the bitmap size depends on 1st-kernel's system memory.
> > > >
> > > > makedumpfile creates a file /tmp/kdump_bitmapXXXXXX as the bitmap,
> > > > and the file is created on 2nd-kernel's memory if RHEL, because
> > > > RHEL does not mount a root filesystem when 2nd-kernel is running.
> > >
> > > Ok.

Does setting TMPDIR solve your problem ? Please refer to the man page.

ENVIRONMENT VARIABLES
TMPDIR This environment variable is for a temporary memory bitmap
file. If your machine has a lots of memory and you use tmpfs
on /tmp, makedumpfile can fail for a little memory in the 2nd
kernel because makedumpfile makes a very large temporary memory
bitmap file in this case. To avoid this failure, you can set a
TMPDIR environment variable. If you do not set a TMPDIR envi-
ronment variable, makedumpfile uses /tmp directory for a tempo-
rary bitmap file as a default.

On the other hand, I'm considering the enhancement suggested by Hatayama-san now.

Thanks
Atsushi Kumagai