DirectX 12 の「メモリ不足」エラーを修正する完全ガイド

Important: 変更を行う前に重要データのバックアップを取り、管理者権限で操作してください。
目的と関連キーワード
Primary intent: DirectX 12 の「メモリ不足」エラーを解決する 関連バリエーション: DirectX 12 エラー修正, メモリ不足クラッシュ対処, ページファイル 増やし方, MSI Afterburner OSD 除外, DirectX シェーダーキャッシュ 削除
エラーの概要と簡単な用語説明
- メモリ(RAM): 実行中のアプリが一時的に使う高速揮発性メモリ。大きい程同時処理が楽になる。
- VRAM: GPU が使う専用映像メモリ。高画質設定は VRAM を大量に消費する。
- ページファイル(スワップ): 物理メモリが不足した時にディスク上で使われる仮想メモリ領域。速度は遅いが不足回避に有効。
何が原因で DirectX 12 が「メモリ不足」エラーを出すのか
以下はよくある原因と、それぞれの簡単なチェック方法です。
- ハードウェア故障や接続不良
- チェック: SMART やマザーボードの自己診断、メモリの抜き差し、別スロットでの動作確認。
- 古いゲームバージョンやパッチ不足
- チェック: ゲームランチャーで更新を確認、開発者のパッチノートを確認。
- GPU ドライバーが古い・破損している
- チェック: GPU ベンダー(NVIDIA、AMD、Intel)の公式サイトにある最新ドライバーを確認。
- ページファイル設定が自動で誤動作している
- チェック: Windows の仮想メモリ設定で「自動的に管理」がオンになっているか確認。
- DirectX(シェーダー)キャッシュの破損
- チェック: ディスククリーンアップで DirectX Shader Cache を削除して再生成させる。
- オーバーレイ/OSD(MSI Afterburner、Discord、Steam)との競合
- チェック: オーバーレイを無効にするか、問題のゲームを除外リストに追加してみる。
事前チェック(簡単な対処)
まず以下を順番に試してください。多くのケースではここで解決します。
- PC の再起動
- ゲームの最新パッチを適用
- GPU ドライバーを最新に更新
- 他のオンスクリーン表示(OSD)や録画ソフトを一時的に無効化
- ゲームファイルの整合性チェック(Steam、Epic、Origin など)
これで直らない場合は下の詳細手順に進みます。
1. ページファイル(仮想メモリ)サイズを増やす
ページファイルの誤設定が原因でメモリ割当が失敗することがあります。以下は Windows 10/11 での手順(管理者権限が必要)。
- Windows キー + I で「設定」を開く。
- 左メニューで「システム」を選び、右側の「バージョン情報」を開く。
- 関連リンクにある「システムの詳細設定」をクリック。
- 「システムのプロパティ」ウィンドウで「詳細設定」タブを選択し、パフォーマンス欄の「設定」を押す。
- 「パフォーマンス オプション」で「詳細設定」タブを開き、「変更」を押す。
- 「すべてのドライブのページング ファイルのサイズを自動的に管理する」のチェックを外す。
- ゲームをインストールしたドライブを選び、「カスタムサイズ」を選択して初期サイズと最大サイズ(MB 単位)を入力する。
- 「設定」を押して「OK」。PC を再起動して変更を反映させる。
推奨値(経験則): 初期サイズは物理 RAM 容量と同等(例: 16GB RAM → 16384MB)、最大サイズは物理 RAM の 1.5~3 倍を目安に設定します。ただしディスクの空き容量と速度を考慮してください。
注意: SSD をページファイルに使用する場合、寿命への影響を最小限にするために容量には余裕を持たせると良いです。
2. MSI Afterburner の OSD でゲームを除外する
MSI Afterburner の On-Screen Display(OSD)が DirectX 12 と干渉し、クラッシュやメモリ不足を誘発することが報告されています。OSD の除外リストに該当ゲームを追加します。
- MSI Afterburner を管理者権限で起動する。
- 歯車アイコンでプロパティを開く。
- 「On-screen Display」タブを選び、下部の「More」ボタンを押す。
- RTSS のウィンドウで Shift キーを押しながら左下の緑の「Add」ボタンを押す。
- 「Add exclusion」ポップアップで問題のゲーム実行ファイルを選択し、OK を押す。
- Afterburner を終了し、ゲームを再起動して問題が解決したか確認する。
要点: OSD を完全に無効化するより、対象ゲームのみ除外するのが安全で効果的です。
3. DirectX シェーダーキャッシュを削除する
破損したシェーダーキャッシュを削除すると、DirectX は新しいキャッシュを再生成し、クラッシュを回避できる場合があります。
- タスクバーの Windows アイコンをクリックし、「ディスク クリーンアップ」と入力。管理者として実行を選ぶ。
- ドライブで「C:」を選択して OK。
- 表示された項目の中から「DirectX Shader Cache」のチェックだけをオンにして OK を押す。
- 確認ダイアログで「ファイルの削除」を押す。
効果: 削除後、次回ゲーム起動時にシェーダーが再コンパイルされるため、初回はロード時間が長くなることがあります。
4. Windows メモリ診断ツールを実行する
物理メモリ(RAM)に欠陥があると、断続的なメモリ不足やクラッシュが発生します。
- Windows キー + R を押して「ファイル名を指定して実行」を開く。
- 次のコマンドを入力して OK:
mdsched.exe
- 表示されるダイアログで「今すぐ再起動して問題を確認する(推奨)」を選択。
診断は再起動後に自動で実行され、エラーが検出されれば画面に報告されます。エラーが出た場合は該当メモリモジュール交換を検討してください。
5. 追加のトラブルシューティング手順
以下は補助的かつ効果の高い対処法です。
- GPU ドライバーのクリーン再インストール
- ベンダー提供のクリーンインストールオプションや DDU(Display Driver Uninstaller)を使って古いドライバーを完全に削除し、最新ドライバーを再インストールします。
- ゲームファイルの検証
- Steam や Epic ランチャーの「ファイル整合性の確認」を実行して破損ファイルを修復します。
- オーバーレイ(Discord、Steam、GeForce Experience、Xbox Game Bar)を無効化
- 一時的にすべてのオーバーレイを切って動作確認。競合を切り分けます。
- グラフィック設定の一時的な低下
- テクスチャ品質やシャドウ、ポストプロセッシングを下げて VRAM 負荷を軽減し、エラーが改善するか確認します。
- Windows のクリーンブート
- サードパーティ製ソフトウェアが干渉している可能性を除外するため、クリーンブートで最小構成の状態からゲームを起動します。
テストケースと受け入れ基準
変更後に実施すべき簡潔なテスト手順と合格条件を示します。
テストケース:
- ゲームを通常起動してメニュー画面まで到達できるか
- 10 分以上プレイしてクラッシュやメモリエラーが再現しないか
- タスクマネージャでメモリ使用量が極端に増加しないか
受け入れ基準:
- 起動時に DirectX の「not enough memory」エラーが表示されない
- 30 分程度のプレイでクラッシュや強制終了が発生しない
- システムログ(イベント ビューア)に関連するエラーが新たに大量に出力されない
ロール別チェックリスト
- ゲーマー
- ゲームと GPU ドライバーを最新にする
- Afterburner・Discord などのオーバーレイをオフにして試す
- ページファイルを一時的に増やす
- テクニカルサポート担当
- メモリ診断(mdsched.exe)を実行、エラー時はメモリ交換を案内
- DDU を使ったドライバーのクリーン再インストールを提案
- システム管理者
- イベントビューアで Nt döンプや WER エラーを精査
- ストレージの健全性と SMART ログを確認
意思決定フローチャート(Mermaid)
以下のフローで原因切り分けがしやすくなります。
flowchart TD
A[ゲームがクラッシュ/メモリ不足] --> B{基本チェック済み?}
B -- いいえ --> C[再起動・ゲーム/ドライバー更新・全オーバーレイ無効]
B -- はい --> D{クラッシュは起動直後?}
D -- はい --> E[ページファイル増加 → 再起動 → テスト]
D -- いいえ --> F[プレイ中に発生 → メモリ診断とVRAM監視]
E --> G{改善した?}
F --> G
G -- はい --> H[問題解決]
G -- いいえ --> I[Afterburner OSD 除外 → DirectX シェーダーキャッシュ削除]
I --> J{改善した?}
J -- はい --> H
J -- いいえ --> K[クリーンブート → DDUでドライバー再インストール → ハードウェア検査]
K --> H
反例・失敗するケース
- ハードウェア自体(メモリモジュール、GPU、マザーボード)が故障している場合はソフト面の対処で根本解決できない。
- ゲーム自体にメモリリークのバグがある場合、パッチが提供されるまで根本解決は難しい。
予防策と運用上の心得
- 定期的に GPU ドライバーとゲームをアップデートする
- 重要なゲーム設定はバックアップ(設定ファイル)を取り、変更時に戻せるようにする
- 大容量のページファイルを持つドライブは十分な空き容量を確保する
よくある質問
Q: ページファイルは手動で大きくしても大丈夫ですか?
A: 原則として問題ありませんが、十分なディスク空き容量があることを確認してください。SSD を使う場合は容量管理に注意します。
Q: Afterburner をアンインストールしたくない場合は?
A: ゲーム実行ファイルを OSD の除外リストに追加することで、Afterburner を維持しながら競合だけを回避できます。
Q: メモリ診断で問題が出ました。次は?
A: 該当するメモリモジュールを特定し、メーカー保証での交換や新しいモジュールへの交換を検討してください。
まとめ
- まずは基本チェック(再起動、更新、オーバーレイ無効)を試す。
- ページファイル設定の調整、Afterburner の OSD 除外、DirectX シェーダーキャッシュ削除、メモリ診断を順に実施する。
- ハードウェア故障やゲーム側のバグはソフト対処で解決できない場合があるため、その場合はハード交換や公式パッチを待つ必要がある。
最後に: どの方法で解決できたか、またはどの時点で詰まったかをメモしておくと、次回以降のトラブルシュートが早くなります。問題が残る場合は、イベントビューアのエラーログやクラッシュダンプを添えて専門フォーラムやメーカーサポートに問い合わせてください。
- 参考記事: DirectX がこのバージョンの Windows と互換性がない場合の対処法も同様に参考になります。
よくある質問(補足)
- コメント欄で「どの方法が有効だったか」を共有すると、同様の問題に困っている他ユーザーの助けになります。