ProcDump:CPUスパイクやクラッシュのトラブルシューティングのためにプロセスダンプを取得する

ProcDumpは、Microsoft Sysinternalsが提供するコマンドラインユーティリティで、CPUスパイク、クラッシュ、応答停止などのトラブルシューティングのために、Windowsプロセスのメモリダンプを取得します。開発者やシステム管理者は、生成された.dmpファイルを使用して、問題発生時にプロセスがどのような動作をしていたかを調べます。これは診断用のスナップショットであり、継続的なCPU使用率ログではありません。

マイクロソフトのドキュメント(2026年10月15日更新)によると、ProcDump v12.02はWindows 11以降およびWindows Server 2016以降に対応しています。以下の手順では、Windowsコマンドプロンプトを使用します。

1. ProcDumpをダウンロードして準備する

  1. ZIPファイルは、Microsoft Sysinternalsの公式ProcDumpページからダウンロードしてください。元のTechNetリンクは、そのページにリダイレクトされます。
  2. それを、例えば のような便利なフォルダに展開してくださいC:\Tools\ProcDump。スタンドアロン実行ファイルには、従来のインストーラーはありません。
  3. 書き込み可能な出力フォルダ(例:)を作成しC:\Dumps、コマンドプロンプトを開きます。展開したディレクトリに移動します。
cd /d C:\Tools\ProcDump
procdump.exe -?

help コマンドを実行すると、使用可能なスイッチが表示されます。初回実行時に Sysinternals のライセンス契約が表示された場合は、内容を確認して同意してから続行してください。保護されたプロセスやより高い権限が必要なプロセスをキャプチャするには、管理者権限でのコマンドプロンプトが必要になる場合がありますが、実際に必要なアクセス権限のみを使用してください。

Windows 11のエクスプローラーで、C:\Tools\ProcDumpフォルダーにprocdump.exeとprocdump64.exeが表示されている。
コマンドライン実行ファイルを含む、抽出されたProcDumpフォルダの例。

2. 実行中のプロセスのダンプを作成する

メモ帳を開いて、以下を入力してください。

procdump.exe notepad C:\Dumps\notepad.dmp

これはダンプを即座に要求し、指定されたファイルに書き込みます。ダンプタイプのスイッチがない場合、ProcDump はデフォルトのMiniダンプ形式 ( -mm) を使用します。追加のメモリ コンテキストが必要な場合にフル メモリ ダンプを収集するには、以下を追加します-ma。

procdump.exe -ma notepad C:\Dumps\notepad-full.dmp

プロセス名、サービス名、または数値のプロセスID(PID)を指定できます。一致するプロセスが1つしかない場合は、名前を使用するのが最適です。Firefoxなどのブラウザは複数のプロセスを実行することが多いため、タスクマネージャーの「詳細」タブに表示されるPIDを使用して目的のプロセスを選択してください。

procdump.exe 1234 C:\Dumps\firefox.dmp

実際のPIDに置き換えてください1234。これはあくまで例です。

コマンドプロンプトでprocdump notepadを実行し、Notepadプロセスのミニダンプファイル名を表示する
基本的なProcDumpコマンドは、実行中のプロセスのスナップショットを取得します。

3. CPU使用率が急上昇したときにダンプを取得する

CPU使用率が断続的に高い場合は、ProcDumpにプロセスを監視させ、キャプチャするタイミングを推測するのではなく、ProcDumpに監視させるようにしてください。

procdump.exe -n 3 -s 5 -c 20 notepad C:\Dumps

ここでは、-c 20プロセスのCPU使用率のしきい値を20%に設定し、-s 5そのしきい値を5秒間連続して超えることを要求し、-n 3収集するダンプを3回に制限します。<process>またはPID>を対象のプロセスまたはPIDに置き換えてくださいnotepad。このコマンドは、条件を満たすイベントが発生するまでアクティブな状態を維持できます。

監視が終了したら、このスイッチを使用してCtrl+C監視を停止します。しきい値を低く設定すると不要なファイルが生成される可能性があるため、調査対象の動作を表す値を選択してください。この-cスイッチは、CPU履歴レポートをダンプに挿入するのではなく、ダンプを取得するタイミングを制御します。

コマンドプロンプトに、3つのダンプ、5秒、20%のCPUトリガーでProcDump CPUしきい値コマンドを表示しています。
CPUトリガーによるデータ収集は、プロセスが選択されたしきい値を超えるまで待機することができます。

4. DMPファイルを見つけて分析する

キャプチャ後、出力フォルダを開きます。ファイル名を指定した場合、ProcDumpはそのファイル名を使用します。指定しない場合は、プロセス名とタイムスタンプを含む標準ファイル名が使用されます(例:)PROCESSNAME_YYMMDD_HHMMSS.dmp。コマンドプロンプトの出力でエラーと報告された保存先を確認してください。

Windowsのエクスプローラーに、ProcDump実行ファイルの横に拡張子.dmpのメモ帳ダンプファイルが表示されている。
生成されたDMPファイルは、テキストエディタではなく、デバッガを使用して調べることができます。

ファイル.dmpはバイナリデバッグデータであり、メモ帳で読むための文書ではありません。WinDbgなどの互換性のあるデバッガーで開き、可能であれば対応するアプリケーションシンボルも使用してください。ダンプの読み込み方法とシンボルの設定方法については、Microsoftのユーザーモードダンプ分析ガイドを参照してください。キャプチャされたスタックとメモリは、ホットスレッド、例外、またはブロッキング操作の特定に役立つ場合がありますが、ダンプ自体では根本原因を証明できません。

その他の便利なProcDumpトリガー

指示いつ使うべきか
procdump.exe -h notepadウィンドウがメッセージに5秒以上応答しなくなった時点をキャプチャします。
procdump.exe -ma -e app.exe C:\Dumps選択したアプリケーションで未処理の例外が発生した場合、完全なダンプを取得します。
procdump.exe -m 500 app.exe C:\Dumpsプロセスが500MBのメモリコミットしきい値に達したときにトリガーします。
procdump.exe -e -w app.exeプロセスが開始されるまで待機し、その後、未処理の例外がないか監視する。

これらのスイッチには、ここに示されている以外にも多くのオプションがあります。本番システムでキャプチャをスクリプト化する前に、公式の構文と例を参照してください。

よくある問題と安全対策

  • ダンプが表示されない場合:対象プロセスが実行されていること、PIDが正しいこと、宛先が書き込み可能であること、およびCPUまたは例外トリガーが実際に発生したことを確認してください。
  • アクセスが拒否されました。プロセスの権限を確認してください。許可され、かつ必要な場合にのみ、管理者権限でターミナルを実行してください。
  • ダンプ収集はアプリの動作を中断させます。メモリのキャプチャによってプロセスが一時的に停止する場合があります。Microsoftの-rクローン作成オプションは、対応システムでは中断を軽減できますが、リソースのオーバーヘッドが増加し、影響が全くないことを保証するものではありません。
  • ファイルサイズが大きすぎるか、機密情報が含まれている可能性があります。フルダンプ(-ma)には、パスワード、個人データ、その他のメモリ内容が含まれる場合があります。アクセスを制限し、承認されたストレージを使用し、ダンプは安全なサポートチャネルを通じてのみ共有してください。

まずはデフォルトのミニダンプから始め、調査で必要になった場合にのみフルダンプに切り替え、トリガー条件はできる限り具体的に設定してください。そうすることで、開発者は必要以上に機密性の高いデータを収集することなく、有用なスナップショットを取得できます。

コメントを残す

Windows 11をセーフモードで起動する方法(信頼できる3つの方法)

Windows 11をセーフモードで起動する方法(信頼できる3つの方法)

PCが正常に起動しない場合でも、設定、Shiftキーを押しながら再起動、または回復ツールからWindows 11をセーフモードで起動する方法を学びましょう。

Windows 10または11でハードドライブをパーティション分割する方法

Windows 10または11でハードドライブをパーティション分割する方法

Windows 10または11でディスクの管理を使用して新しいドライブを作成する方法を学びましょう。Cドライブの縮小方法、パーティションのフォーマット方法、よくある間違いの回避方法などをご紹介します。

Microsoft AccessをインストールせずにMDBファイルを編集する方法

Microsoft AccessをインストールせずにMDBファイルを編集する方法

MDB Viewer Plus を使用すると、Microsoft Access を使用せずに Windows 上で Access MDB ファイルを開き、検索、編集、エクスポートできます。セットアップ手順と ACCDB に関する注意事項も含まれています。

ProcDump:CPUスパイクやクラッシュのトラブルシューティングのためにプロセスダンプを取得する

ProcDump:CPUスパイクやクラッシュのトラブルシューティングのためにプロセスダンプを取得する

Microsoft ProcDumpを使用して、必要に応じて、またはCPUスパイク、クラッシュ、ハングアップ時にWindowsのプロセスダンプを取得し、その結果を検査する方法を学びましょう。

他人に画面を見られないようにし、機密データを保護する方法

他人に画面を見られないようにし、機密データを保護する方法

プライバシーフィルター、よりスマートなデスク配置、Windowsロックのショートカット、そしてより安全なディスプレイ設定を活用することで、周囲の人に画面を読まれるのを防ぎましょう。

Winsock LSPの問題を修正し、TCP/IPをリセットしてインターネット接続を復元する

Winsock LSPの問題を修正し、TCP/IPをリセットしてインターネット接続を復元する

Windowsのネットワーク接続の問題を解決するには、Winsockカタログを検査し、WinsockとTCP/IPを安全にリセットし、DNSとアダプタの設定を確認してください。

静的IPアドレスを持たないURLを使用してWebサーバーにリダイレクトする

静的IPアドレスを持たないURLを使用してWebサーバーにリダイレクトする

静的IPアドレスを使わずにURLで自宅のWebサーバーにアクセスするには、ダイナミックDNSを使用してください。ポートフォワーディングとHTTPSを設定するか、ISPがCGNATを使用している場合はトンネルを使用してください。

NetBalancerでアプリ転送の優先順位を設定して、インターネットの速度低下を軽減しましょう

NetBalancerでアプリ転送の優先順位を設定して、インターネットの速度低下を軽減しましょう

NetBalancerを使用すると、アプリのダウンロードとアップロードの優先順位付け、バックグラウンドトラフィックの制限、重要なWindowsアプリケーションの応答性の向上を実現できます。

Windows 10でヘッドホンを抜いたときに自動的に音声をミュートする

Windows 10でヘッドホンを抜いたときに自動的に音声をミュートする

Windows 10でヘッドホンが切断された際に、スピーカーから音が漏れるのを防ぎます。Bluetooth用のWinMuteを設定し、有線ヘッドホンのオプションを確認してください。

システムトレイから複数のモニターの明るさを制御する

システムトレイから複数のモニターの明るさを制御する

Twinkle Trayを使用すると、Windowsのシステムトレイから個々のモニターまたはリンクされたモニターの明るさを調整したり、ショートカットを設定したり、一般的な検出の問題を修正したりできます。