7.8. サポートしている kdump の設定とダンプ出力先
7.8.1. kdump メモリー要件
kdump でカーネルクラッシュダンプをキャプチャーしてさらに分析ができるように保存するにはシステムメモリーの一部をキャプチャーカーネル用に永続的に予約する必要があります。
コマンドラインでメモリー設定を変更する方法は、「メモリー使用量の設定」 を参照してください。グラフィカルユーザーインターフェイスで予約メモリーの設定を変更する方法は、「メモリー使用量の設定」 を参照してください。
表 7.1 では、kernel
および kernel-alt
パッケージで kdump
が自動的に予約されているメモリーをリストします。kdump
は自動的に、CPU アーキテクチャーに基づくメモリーと、利用可能な物理メモリーの合計を確保します。
CPU アーキテクチャー | 使用可能なメモリー | クラッシュメモリーは自動的に予約されています |
---|---|---|
AMD64 および Intel 64 (x86_64) | 2 GB 以上 | 161 MB + 64 MB (1 TB あたり) |
64 ビット ARM アーキテクチャー (arm64) | 2 GB 以上 | 512 MB |
IBM POWER ppc64/ppc64le | 2 GB から 4 GB | 384 MB |
4 GB から 16 GB | 512 MB | |
16 GB から 64 GB | 1 GB | |
64 GB から 128 GB | 2 GB | |
128 GB 以上 | 4 GB | |
IBM Z (s390x) | 4 GB 以上 |
161 MB + 64 MB (1 TB あたり) |
さまざまな Red Hat Enterprise Linux テクノロジーの機能や制限に関する詳しい情報は、https://access.redhat.com/articles/rhel-limits を参照してください。
7.8.2. メモリー自動予約の最小しきい値
一部のシステムでは、ブートローダーの設定ファイルで crashkernel=auto
パラメーターを使用するか、グラフィカル設定ユーティリティーで自動割り当ての設定を有効にすると、kdump 用のメモリーを自動的に割り当てることができます。ただし、この自動予約が機能するには、合計メモリーの特定量のメモリーを利用できる必要があります。この容量はシステムのアーキテクチャーによって異なります。
次の表は、kernel
および kernel-alt
パッケージの自動メモリー割り当てのしきい値のリストです。システムのメモリーが以下に示すしきい値を下回る場合は手動でメモリー予約を行う必要があります。
コマンドラインで設定を変更する方法は、「メモリー使用量の設定」 を参照してください。グラフィカルユーザーインターフェイスで予約メモリーのサイズを変更する方法は、「メモリー使用量の設定」 を参照してください。
アーキテクチャー | 必要なメモリー |
---|---|
AMD64 と Intel 64 ( | 2 GB |
IBM POWER ( | 2 GB |
IBM Z ( | 4 GB |
64 ビット ARM アーキテクチャー ( | 2 GB |
7.8.3. サポートしている kdump のダンプ出力先
カーネルクラッシュをキャプチャーする際、コアダンプを直接デバイスに書き込んでローカルファイルシステムにファイルとして保存するか、ネットワーク経由で送信することができます。現在サポートしているダンプ出力先および kdump による非サポートが明確なダンプ出力先の全リストを以下に示します。
コマンドラインでターゲットタイプを設定する方法は、「kdump ターゲットの設定」 を参照してください。グラフィカルユーザーインターフェイスでデフォルト動作を設定する方法は、「kdump ターゲットの設定」 を参照してください。
Type | 対応しているダンプ出力先 | 対応していないダンプ出力先 |
---|---|---|
Raw デバイス | ローカルで添付されたすべての raw ディスクとパーティション | |
ローカルファイルシステム |
直接接続されているディスクドライブ、ハードウェア RAID 論理ドライブ、LVM デバイス、 |
|
リモートディレクトリー |
|
|
|
| |
ハードウェアおよびソフトウェアイニシエーター上で |
| マルチパスベースのストレージ |
| ||
| ||
ワイヤレスネットワークインターフェイスを使用してアクセスするリモートディレクトリー |
ソフトウェア FCoE
のダンプ出力先へダンプすると、OOM (Out of Memory) エラーが発生します。この場合は、デフォルトの crashkernel=auto
パラメーターの値を大きくします。このカーネルブートパラメーターを設定する方法は、「メモリー使用量の設定」 を参照してください。
7.8.4. 対応している kdump のフィルターレベル
ダンプファイルのサイズを縮小させるため kdump では makedumpfile
コアコレクターを使用してデータを圧縮して必要に応じて関連性のない情報を除外します。以下の表に、makedumpfile
ユーティリティーで現在対応しているフィルターレベルの完全なリストを示します。
コマンドラインでコアコレクターを設定する方法は、「コアコレクターの設定」 を参照してください。グラフィカルユーザーインターフェイスでデフォルト動作を設定する方法は、「コアコレクターの設定」 を参照してください。
オプション | 説明 |
---|---|
| ゼロページ |
| キャッシュページ |
| キャッシュプライベート |
| ユーザーページ |
| フリーページ |
makedumpfile
コマンドは、Red Hat Enterprise Linux 7.3 以降の透過的なヒュージページおよび hugetlbfs ページの削除をサポートします。これらのタイプの hugepages User Page の両方を考えて、-8
レベルを使用して削除します。
7.8.5. サポートしているデフォルトの動作
kdump がコアダンプの作成に失敗すると、デフォルトでは、オペレーティングシステムが再起動します。第 1 ダンプ出力先へのコアダンプの保存に失敗した場合、kdump に別の動作を行うよう設定することができます。kdump で現在サポートしているデフォルト動作を以下に示します。
コマンドラインでデフォルト動作を設定する方法は、「デフォルト動作の設定」 を参照してください。グラフィカルユーザーインターフェイスでデフォルト動作を設定する方法は、「デフォルト動作の設定」 を参照してください。
オプション | 説明 |
---|---|
| root ファイルシステムにコアダンプの保存を試行します。ネットワーク上のダンプ出力先と併用する場合に特に便利なオプションです。ネットワーク上のダンプ出力先にアクセスできない場合、ローカルにコアダンプを保存するよう kdump の設定を行います。システムは、後で再起動します。 |
| システムを再起動します。コアダンプは失われます。 |
| システムを停止します。コアダンプは失われます。 |
| システムの電源を切ります。コアダンプは失われます。 |
| initramfs 内から shell セッションを実行して、ユーザーが手動でコアダンプを記録できるようにします。 |
7.8.6. kdump サイズの見積もり
kdump
環境のプランニングや構築の際に、ダンプファイルに必要な容量がどれくらいか把握してから作成する必要があります。これには、makedumpfile
コマンドを使用すると役立ちます。
以下のように、--mem-usage
機能を使用して、ダンプファイルに必要な領域を見積もります。
# makedumpfile -f --mem-usage /proc/kcore
-f
オプションを使用した --mem-usage
機能は、カーネルバージョン v4.11 以降で動作します。
v4.11 よりも前のバージョンのカーネルでは、--mem-usage
にオプション -f
を指定して実行する前に、カーネルにアップストリームのコミット 464920104bf7 でパッチが当てられていることを確認します。
--mem-usage
オプションでは、除外可能なページに関する有用なレポートが提供され、これを使用して、割り当てるダンプレベルを判断することができます。このコマンドは、システムに典型的な負荷をかけた状態で実行する必要があります。 そうでないと、makedumpfile
は実稼動環境で必要とされる値よりも小さい値を返します。
[root@hostname ~]# makedumpfile -f --mem-usage /proc/kcore TYPE PAGES EXCLUDABLE DESCRIPTION ---------------------------------------------------------------------- ZERO 501635 yes Pages filled with zero CACHE 51657 yes Cache pages CACHE_PRIVATE 5442 yes Cache pages + private USER 16301 yes User process pages FREE 77738211 yes Free pages KERN_DATA 1333192 no Dumpable kernel data
makedumpfile
コマンドは pages にレポートを出します。つまり、カーネルページサイズ (Red Hat Enterprise Linux カーネルの場合、AMD64 および Intel 64 のアーキテクチャーでは 4 キロバイト、IBM POWER アーキテクチャーの場合は 64 キロバイト) に対して使用中のメモリーのサイズを計算する必要があります。
7.8.7. kernel
および kernel-alt
パッケージでのアーキテクチャーのサポート
以下の表は、kernel
および kernel-alt
パッケージでのアーキテクチャーおよび利用可能なメモリーサポートの概要を示しています。
CPU アーキテクチャー | 使用可能なメモリー | RHEL 7.5 以前 | RHEL 7.6 以降 | RHEL-ALT-7.4 | RHEL-ALT-7.5 以降 |
---|---|---|---|---|---|
| 2GB 以上 | 161MB + 64MB (1TB あたり) | 161MB + 64MB/1TB | 2GB から 160MB | 2GB から 160MB |
| 2GB 以上 | 該当なし | 該当なし | 2GB から 512MB | 2GB から 512MB |
| 2GB から 4GB | 384MB | 384MB | 該当なし | 該当なし |
4GB から 16GB | 512MB | 512MB | 該当なし | 該当なし | |
16GB から 64GB | 1GB | 1GB | 該当なし | 該当なし | |
64GB から 128GB | 2GB | 2GB | 該当なし | 該当なし | |
128GB 以上 | 4GB | 4GB | 該当なし | 該当なし | |
| 2GB から 4GB | 384MB | 384MB | 384MB | 384MB |
4GB から 16GB | 512MB | 512MB | 512MB | 512MB | |
16GB から 64GB | 1GB | 1GB | 1GB | 1GB | |
64GB から 128GB | 2GB | 2GB | 2GB | 2GB | |
128GB 以上 | 4GB | 4GB | 4GB | 4GB | |
| 2GB から 4GB | 該当なし | 該当なし | 384MB | 384MB |
4GB から 16GB | 該当なし | 該当なし | 512MB | 512MB | |
16GB から 64GB | 該当なし | 該当なし | 1GB | 1GB | |
64GB から 128GB | 該当なし | 該当なし | 2GB | 2GB | |
128GB 以上 | 該当なし | 該当なし | 4GB | 4GB | |
| 4GB 以上 | 161MB + 64MB (1TB あたり) | 161MB + 64MB (1TB あたり) | 161MB + 64MB (1TB あたり) | 160MB |