17.5. RAM が認識されない場合のメモリーの手動設定
カーネルがインストールされているメモリー (RAM) をすべて検出しない場合は、mem= ブートオプションを使用してメモリー量を手動で設定することで、想定される容量をシステムに使用させることができます。
報告されたメモリー容量が実際に搭載されている容量よりも少ない場合、1 つ以上のメモリーモジュールに不具合がある可能性があります。レガシーの BIOS ベースのシステムでは、Memtest86+ ユーティリティーを使用してシステムメモリーをテストできます。
特定のハードウェア構成では、RAM の一部が予約されるため、オペレーティングシステムがその部分を使用できなくなります。たとえば、統合型グラフィックスカードを搭載したノートパソコンは、多くの場合、GPU 用にメモリーを予約します。そのため、4 GiB の RAM を搭載したシステムでも、利用可能なメモリーとして表示されるのは約 3.7 GiB 程度になることがあります。
また、kdump のクラッシュカーネルダンプメカニズムが、プライマリーカーネルの障害発生時に使用されるセカンダリーカーネル用のメモリーを予約します。この機能はほとんどの Red Hat Enterprise Linux システムでデフォルトで有効になっており、予約済みのメモリーは使用可能メモリーとして表示されません。
手順
システムが現在報告しているメモリー容量を MiB 単位で確認します。
$ free -mシステムを再起動し、ブートローダーメニューが表示されるまで待ちます。
起動タイムアウト期間が
0に設定されている場合は、Esc キーを押してメニューにアクセスします。- ブートローダーメニューからカーソルキーを使用して、起動するエントリーを強調表示します。Tab キー (システムが BIOS ベースの場合) または e キー (UEFI ベースの場合) を押して、選択したエントリーオプションを編集します。
オプション一覧でカーネル行を探します。カーネル行は
linuxというキーワードで始まります。以下のオプションをこの行の最後に追加します。mem=xxM-
xxの部分は実際の容量を MiB 単位で入力してください。 - F10 キーまたは Ctrl+X の組み合わせを押して、編集を行ったオプションでシステムを起動します。
- システムが起動するのを待ってログインし、コマンドラインを開きます。
システムが報告するメモリー量を MiB 単位で確認します。
$ free -mコマンドで表示される RAM の合計サイズが期待値と一致する場合は、変更を永続化します。
# grubby --update-kernel=ALL --args="mem=xxM"