[RFC PATCH v2 0/10] makedumpfile: cyclic processing to keep memory consumption.
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Tue Aug 28 22:50:31 EDT 2012
From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
Subject: Re: [RFC PATCH v2 0/10] makedumpfile: cyclic processing to keep memory consumption.
Date: Wed, 15 Aug 2012 15:27:10 +0900
> Hello HATAYAMA-san,
>
> On Tue, 14 Aug 2012 20:55:32 +0900 (JST)
> HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> wrote:
>
>> From: Vivek Goyal <vgoyal at redhat.com>
>> Subject: Re: [RFC PATCH v2 0/10] makedumpfile: cyclic processing to keep memory consumption.
>> Date: Fri, 10 Aug 2012 10:36:55 -0400
>>
>> > On Fri, Aug 10, 2012 at 05:39:38PM +0900, HATAYAMA Daisuke wrote:
>> >
>> > [..]
>> >>
>> >> I finished benchmarking filtering time and demonstrate the result.
>> >> But I failed to collect amount of memory consumption by my mistake. If
>> >> they are necessary, I'll again try to collect them. But we have 9 days
>> >> vacation starting tommorow, so I'll do that after the vacation.
>> >>
>
> Thank you for your help.
> Could you continue to measure amount of memory consumption ?
>
Hello Kumagai-san, here is the benchmark result for the amount of
actual memory consumption when there are multiple child processes
using --split option.
I measured the data in the following way:
* for buffer size, 1MB, 2MB, 4MB, 8MB and 16MB are chosen.
* for the number of splitted dumpfiles, 2, 4, 8 and 16 are chosen.
* I collected RSS, SHA(RED) and PRI(VATE) memory for each process
from /proc/self/smaps; RSS is the value of the column "Rss:", SHA
is the value of the column "Shared_Clean" plus the value of the
column "Shared_Dirty" and PRI is the value of the column
"Private_Clean" plus the value of the clumn "Private_Dirty".
Note that RSS is the amount of memory actually mapped on physical
memory, and RSS = SHA + PRI always holds.
Note also that the reason of collecting SHA is the fact that
makedumpfile --split is implemented using fork and child processes
shares the same parent's memory by COW.
Notice that I write only one child process data below because each
result is exactly the same and also purely due to space issue;
there's no room to put all childs' data here.
* In the following table, I'm using [BEGIN] => [END] notation, such
as 3.16 => 0.57. This indicates at what point the data is
measured.
For the parent process, the left-hand side, [BEGIN] part, is
before waitpid() in writeout_multiple_dumpfiles(), while the
right-hand side, [END] part, after waitpid().
For child process, the left-hand side, [BEGIN] part, is the
beginning of write_kdump_pages_and_bitmap_cyclic(), while the
right-hand side, [END] part, the end of
write_kdump_pages_and_bitmap_cyclic().
buffer size 1MB
split parent child
------------------------------------------
RSS 3.42 => 3.42 2.98 => 3.27
SHA 2 3.16 => 0.57 2.85 => 0.89
PRI 0.25 => 2.84 0.13 => 2.38
------------------------------------------
RSS 3.42 => 3.42 2.98 => 3.27
SHA 4 3.18 => 0.57 2.85 => 0.89
PRI 0.24 => 2.84 0.13 => 2.38
------------------------------------------
RSS 3.42 => 3.42 2.98 => 3.27
SHA 8 3.18 => 0.57 2.85 => 0.89
PRI 0.23 => 2.84 0.13 => 2.37
------------------------------------------
RSS 3.41 => 3.41 2.98 => 3.26
SHA 16 3.18 => 0.57 2.84 => 0.89
PRI 0.23 => 2.84 0.13 => 2.37
buffer size 2MB
split parent child
------------------------------------------
RSS 5.42 => 5.42 4.98 => 5.27
SHA 2 5.17 => 0.57 4.85 => 0.89
PRI 0.25 => 4.84 0.13 => 4.37
------------------------------------------
RSS 5.42 => 5.42 4.98 => 5.27
SHA 4 5.17 => 0.57 4.85 => 0.89
PRI 0.25 => 4.84 0.13 => 4.37
------------------------------------------
RSS 5.41 => 5.41 4.98 => 5.26
SHA 8 5.18 => 0.57 4.84 => 0.89
PRI 0.23 => 4.84 0.13 => 4.37
------------------------------------------
RSS 5.42 => 5.42 4.98 => 5.27
SHA 16 5.19 => 0.57 4.85 => 0.89
PRI 0.23 => 4.84 0.13 => 4.37
buffer size 4MB
split parent child
------------------------------------------
RSS 9.42 => 9.42 8.98 => 9.27
SHA 2 9.18 => 0.57 8.85 => 0.89
PRI 0.24 => 8.84 0.13 => 8.38
------------------------------------------
RSS 9.41 => 9.41 8.98 => 9.26
SHA 4 9.18 => 0.57 8.84 => 0.89
PRI 0.24 => 8.84 0.13 => 8.37
------------------------------------------
RSS 9.41 => 9.41 8.98 => 9.26
SHA 8 9.18 => 0.57 8.84 => 0.89
PRI 0.24 => 8.84 0.13 => 8.37
------------------------------------------
RSS 9.42 => 9.42 8.98 => 9.27
SHA 16 9.18 => 0.57 8.85 => 0.89
PRI 0.23 => 8.84 0.13 => 8.38
buffer size 8MB
split parent child
---------------------------------------------
RSS 17.41 => 17.41 16.98 => 17.26
SHA 2 17.17 => 0.57 16.84 => 0.89
PRI 0.25 => 16.84 0.13 => 16.37
---------------------------------------------
RSS 17.41 => 17.41 16.98 => 17.27
SHA 4 17.18 => 0.57 16.84 => 0.89
PRI 0.24 => 16.84 0.13 => 16.38
---------------------------------------------
RSS 17.42 => 17.42 16.98 => 17.27
SHA 8 17.17 => 0.57 16.85 => 0.89
PRI 0.25 => 16.84 0.13 => 16.37
---------------------------------------------
RSS 17.42 => 17.42 16.98 => 17.27
SHA 16 17.18 => 0.57 16.85 => 0.89
PRI 0.23 => 16.84 0.13 => 16.38
buffer size 16MB
split parent child
---------------------------------------------
RSS 33.41 => 33.41 32.98 => 33.27
SHA 2 33.16 => 0.57 32.84 => 0.89
PRI 0.25 => 32.84 0.13 => 32.38
---------------------------------------------
RSS 33.42 => 33.42 32.98 => 33.27
SHA 4 33.18 => 0.57 32.85 => 0.89
PRI 0.24 => 32.84 0.13 => 32.38
---------------------------------------------
RSS 33.42 => 33.42 32.98 => 33.27
SHA 8 33.18 => 0.57 32.85 => 0.89
PRI 0.23 => 32.84 0.13 => 32.37
---------------------------------------------
RSS 33.41 => 33.41 32.98 => 33.26
SHA 16 33.18 => 0.57 32.84 => 0.89
PRI 0.24 => 32.84 0.13 => 32.37
Thanks.
HATAYAMA, Daisuke
More information about the kexec
mailing list