メモリ割り当てが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