Hello Maxim, On Wed, 10 Jul 2013 14:02:05 +0400 Maxim Uvarov <maxim.uvarov at oracle.com> wrote: > Dump kernel work in limited memory space and makedumpfile buffers > have to fit to empty memory due to not be killed with OOM-killer. > > v2: avoid divide by zero > > Signed-off-by: Maxim Uvarov <maxim.uvarov at oracle.com> Thanks, I'll merge this v2 patch into v1.5.5. Atsushi Kumagai > --- > makedumpfile.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/makedumpfile.c b/makedumpfile.c > index b42565c..14bacb2 100644 > --- a/makedumpfile.c > +++ b/makedumpfile.c > @@ -2997,6 +2997,8 @@ out: > * Truncate the buffer size to free memory size. > */ > free_memory = get_free_memory_size(); > + if (info->num_dumpfile > 1) > + free_memory /= info->num_dumpfile; > if (info->bufsize_cyclic > free_memory) { > MSG("Specified buffer size is larger than free memory.\n"); > MSG("The buffer size for the cyclic mode will "); > @@ -8548,6 +8550,9 @@ calculate_cyclic_buffer_size(void) { > */ > free_size = get_free_memory_size() * 0.4; > needed_size = (info->max_mapnr * 2) / BITPERBYTE; > + /* if --split was specified cyclic buffer allocated per dump file */ > + if (info->num_dumpfile > 1) > + needed_size /= info->num_dumpfile; > > info->bufsize_cyclic = (free_size <= needed_size) ? free_size : needed_size; > > -- > 1.7.9.5