RHEL8,9系でメモリが200MB程度誰かに持っていかれる現象(天使の取り分)

メモリ割り当てが1GBなのだがfreeコマンドを叩いて見ると800MB程しか見えない現象

$ free
total used free shared buff/cache available
Mem: 787464 447412 96568 14580 388024 340052
Swap: 2232316 55912 2176404
$

どうやらcrashkernel用にメモリが確保されているようである

$ dmesg
~~~
[ 0.012094] Reserving 192MB of memory at 624MB for crashkernel (System RAM: 1023MB)
~~~

で、カーネルクラッシュ時に解析などしないため、これを解消したい。

/etc/etc/default/grubを見ると

GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/vg-swap rd.lvm.lv=vg/root rd.lvm.lv=vg/swap"

「crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M」なるパラメータにより
1GBから4GBメモリの場合は192MBがcrashkernel用にもっていかれるようである。
このcrashkernelのパラメータを取り除いてしまうことにする。

$ sudo systemctl diswable --now kdump.service
$ sudo grubby --update-kernel=ALL --remove-args="crashkernel"
$ grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
$ sudo shutdown -r now

kdumpを止める
grubbyコマンドでcrashkernelのパラメータを取り除く
再起動!
これでOK

$ free
total used free shared buff/cache available
Mem: 984068 278832 560940 3732 288688 705236
Swap: 2232316 244008 1988308
$

以上、めでたしめでたし。

なお、OSインストール時にインストーラーでkdumpを無効にしておけば
カーネルの起動オプションに、crashkernelのパラメータが付かないため
このようなパラメータ修正を後からする必要が無い。

参考URL:https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/changing-kernel-command-line-parameters-for-all-boot-entries_configuring-kernel-command-line-parameters
https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/changing-kernel-command-line-parameters-for-all-boot-entries_configuring-kernel-command-line-parameters

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です