Translated message

A translation of this page exists in English.

[RHEL7] 大容量メモリーシステムでのブートフェーズ中に kdump サービスが何度もリロードされる

Solution Verified - Updated -

Issue

+ kdump サービスは、大規模なシステムでのブートフェーズ中に何度もリロードされます。
+ サーバーの応答が遅くなったり、systemd-udevd が kdump サービスを何度もリロードしたりすると、起動が停止することさえあります。
+ 起動時に kdump サービスのリロード試行が多すぎる/頻繁に行われる結果、sysfs でファイルを開くときに取得する必要がある kernfs_mutex が激しく競合し、udevd が/sys/devices/. エントリーでスタックしやすくなります。

-- Reboot --
Mar 15 18:06:30 localhost.localdomain systemd-journal[919]: Runtime journal is using 8.0M (max allowed 4.0G, trying to leave 4.0G free of 187.9G available → current limit 4.0G).
Mar 15 18:06:30 localhost.localdomain kernel: microcode: microcode updated early to revision 0x2006a08, date = 2020-06-16
Mar 15 18:06:30 localhost.localdomain kernel: Initializing cgroup subsys cpuset
Mar 15 18:06:30 localhost.localdomain kernel: Initializing cgroup subsys cpu
Mar 15 18:06:30 localhost.localdomain kernel: Initializing cgroup subsys cpuacct
Mar 15 18:06:30 localhost.localdomain kernel: Linux version 3.10.0-1160.11.1.rt56.1145.bz1926043.el7.x86_64 (mockbuild@x86-040.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP PREEMPT RT Mon Feb 22 16:24:06 UTC 2021
Mar 15 18:06:30 localhost.localdomain kernel: Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.11.1.rt56.1145.bz1926043.el7.x86_64 root=/dev/mapper/rootvg-root ro audit=1 crashkernel=768M spectre_v2=retpoline rd.lvm.lv=rootvg/root selinux=0 ipv6.disable=0 console=ttyS1,115200 cgroup.memory=nokmem raid=noautodetect no_timer_check clock=tsc clocksource=tsc tsc=reliable rcu_nocbs=1-19,21-39,41-59,61-79 rcu_nocb_poll=1 nohz=on nohz_full=1-19,21-39,41-59,61-79 isolcpus=1-19,21-39,41-59,61-79 irqaffinity=0,20,40,60 enforcing=0 noswap default_hugepagesz=1G hugepagesz=1G hugepages=263 mce=off nmi_watchdog=1 fsck.mode=force fsck.repair=yes skew_tick=1 softlockup_panic=0 idle=poll nosoftlockup intel_pstate=disable intel_idle.max_cstate=1 iommu=pt intel_iommu=on pcie_aspm.policy=performance crash_kexec_post_notifiers systemd.log_level=debug systemd.log_target=kmsg log_buf_len=15M skew_tick=1 isolcpus=1-19,21-39,41-59,61-79 intel_pstate=disable nosoftlockup nohz=on nohz_full=1-19,21-39,41-59,61-79 rcu_nocbs=1-19,21-39,41-59,61-79
    ...
Mar 15 18:06:52 localhost.localdomain systemd-udevd[1690]: RUN '/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; /usr/bin/systemd-run --quiet /usr/bin/kdumpctl reload'' /usr/lib/udev/rules.d/98-kexec.rules:14
    ...
Mar 15 18:06:52 localhost.localdomain systemd-udevd[1692]: RUN '/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; /usr/bin/systemd-run --quiet /usr/bin/kdumpctl reload'' /usr/lib/udev/rules.d/98-kexec.rules:14
    ...
Mar 15 18:06:52 localhost.localdomain systemd-udevd[1691]: RUN '/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; /usr/bin/systemd-run --quiet /usr/bin/kdumpctl reload'' /usr/lib/udev/rules.d/98-kexec.rules:14
    ...
Mar 15 18:06:52 localhost.localdomain systemd-udevd[1689]: RUN '/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; /usr/bin/systemd-run --quiet /usr/bin/kdumpctl reload'' /usr/lib/udev/rules.d/98-kexec.rules:14
    ...
  • この場合、systemd-udevd は起動時に kdumpctl reload を 688 回実行します。
$ cat ./sos_commands/logs/journalctl_--no-pager | awk '/Mar 15 18:/&&/kdumpctl reload/' | wc -l
688

Environment

+ Red Hat Enterprise Linux 7.3 以降 (非 rt カーネル)
+ Red Hat Enterprise Linux 7.3 Realtime 以降 (kernel-rt)
+ kexec-tools-2.0.15-51.el7_9.3 より古い kexec-tools
+ 大容量 RAM を搭載した大規模システム
+ 1 つのケースに 376 GB の RAM を搭載したシステム
+ 別のケースで 2TB の RAM を搭載したシステム
+ 数ギガバイトの RAM しかないシステム

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content