We replace "reserved_memory= 8192" with "reserved_memory = 1024" in /etc/lvm/lvm.conf used by "lvm2", this can save 7MB peak memory consumption, so we lower the possibility of kdump OOM.
For kdump, we don't have too many lvm targets, lvm2 locates in the RAM(rootfs), so don't need that much memory, as discussed with lvm people, they agree that we can use 1MB under kdump as long as there are not so many lvm targets invloved.
We modify /etc/lvm/lvm.conf when "99kdumpbase" install() is executed, because it is parsed after "90lvm" by dracut.
Signed-off-by: Xunlei Pang xlpang@redhat.com --- dracut-module-setup.sh | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 1f96bb8..674f3ee 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -743,4 +743,9 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets + + # For the lvm type target under kdump, in /etc/lvm/lvm.conf we can safely replace + # "reserved_memory = 8192" with "reserved_memory = 1024" to lower memory pressure + sed -i -e 's/(^[[:space:]]*)reserved_memory[[:space:]]*=[[:space:]]*[[:digit:]]*/ \ + \1reserved_memory = 1024/' ${initdir}/etc/lvm/lvm.conf &>/dev/null }