Windows でディスク使用量の増加を引き起こすプロセスを見つける

Windows では、特定の実行プロセスが大量のディスク I/O を生成し、他のアプリのパフォーマンスに影響を与える可能性があります。この記事では、ディスク サブシステムに大きな負荷を与えているプロセスを特定するのに役立つ基本的な Windows ツールについて説明します。

現在のディスク負荷を表示する最も簡単な方法は、タスク マネージャーを使用することです。プレスCtrl +Shift + Escに行きます。パフォーマンスタブをクリックし、物理ディスクの 1 つを選択します。スクリーンショットは、ディスクの 1 つが 100% でロードされている状況の例を示しています。

プロセスタブで、ディスク使用量の増加を引き起こしているプロセスを見つけることができます。 Windows 10 および 11 の新しいタスク マネージャーには、RAM と CPU 使用率の標準の列に加えて、ディスク負荷の新しい列を備えた [プロセス] タブが含まれています。プロセスを次の順序で並べ替えます。ディスクカラム。上部には、ディスク リソースを最も多く消費するプログラムの名前が表示されます。

さらに詳細な情報を取得するには、プロセスを右クリックし、詳細へ.

便宜上、タスク マネージャーに列を追加してみましょう。プロセステーブルのヘッダーを右クリックし、「」を選択します。列の選択" に次の内容を追加します。

  • I/O読み取りバイト数
  • I/O書き込みバイト数
  • コマンドライン

これは、ディスク使用状況プロファイル (プロセスが主に読み取り操作を実行しているか書き込み操作を実行しているか) を理解し、プログラムの起動に使用されるコマンド ラインを表示するのに役立ちます。この場合、実行中の PowerShell スクリプトがディスクの高負荷を引き起こしていることは明らかです (*.PS1).

ディスク使用量の増加を引き起こしているプロセスは特定されましたが、どのファイルがアクティブに書き込みまたは読み取りされているかは不明のままです。内蔵されているリソースモニター使用中のファイルを識別するのに役立ちます。 [パフォーマンス] タブから開くか、resmon.exe指示。

に行きますディスクタブ。 I/O アクティビティ別にプロセスを並べ替え、その横にあるチェックボックスをオンにして、高いディスク負荷を引き起こしているプロセスを選択します。

こちらもお読みください:Windows で UTCSVC.exe によって引き起こされる CPU とディスクの使用率の高さを修正する方法

このプロセスで使用されるファイルのフィルタリングされたリストが、ディスクアクティビティセクション。書き込み操作や読み取り操作が最も多いファイルを見つけます。これがあなたが探しているファイルです。

この例では、ディスクスピードWindows でディスクのパフォーマンスをチェックするツール。

マイクロソフトのプロセスエクスプローラーこのツールを使用して、どのプロセスやスレッドがディスクに高負荷をかけているかを特定することもできます。 Process Explorer は、ディスク負荷に関する詳細情報を提供します。これにより、集中的なディスク アクティビティの原因となる特定のプロセスとスレッドを特定し、それらが使用するファイルとリソースを調べることができます。これにより、集中的なディスク アクティビティの原因となっている特定のプロセスとスレッド、およびそれらが使用しているファイルとリソースを特定できます。

デフォルトでは、Process Explorer には読み取りおよび書き込み操作に関する情報は表示されません。追加するには、I/O読み取りバイト数そしてI/O書き込みバイト数列に移動して、プロセスIOタブをクリックして選択しますビュー->列の選択.

I/O ごとにプロセスを並べ替えて、高いディスク負荷を引き起こしているプロセスを見つけます。でスレッドタブでは、集中的な I/O を引き起こしている特定のプロセス スレッドを見つけることもできます。

プロセスがシステム特権。このようなプロセスはタスク マネージャーに表示されない場合があります。

以下のスクリーンショットは、VMDK ファイルを使用した SYSTEM プロセスの例を示しています。コンテキストから、これが VMware Workstation 仮想マシン ファイルであることは明らかですが、プロセスの名前からは明らかではありません。

この例では、PID 4 のシステムプロセス。これは標準のカーネル モード システム プロセスです (デバイス ドライバーもこのプロセスで実行されます)。のプロセスモニター(ProcMon) ユーティリティは、カーネル レベルのプロセスを含むディスク I/O アクティビティを表示するため、システム プロセスによるディスク使用状況を調べるのに適しています。

Procmon は、ファイル使用アクティビティに関する情報を表示できます。選択ツール->ファイルの概要。頻繁に使用されるファイルを選択し、ダブルクリックします。これにより、Procmon フィルターにファイル パスが追加されます。私の場合、ディスク負荷の高さの原因は次のとおりであることがわかりました。vmware-vmx.exeプロセス (プライマリ VMware Workstation プロセスは仮想マシンの実行を担当します)。

プロセスのディスク アクティビティに関する情報は、パフォーマンス カウンターから取得することもできます。次の PowerShell コマンドは、パフォーマンス カウンターによって報告される、ディスク アクティビティごとに上位 10 のプロセスをリアルタイムで一覧表示します。

Get-Counter 'Process(*)IO Data Bytes/sec' | Select-Object -ExpandProperty CounterSamples | Sort-Object -Property CookedValue -Descending | Select-Object InstanceName, CookedValue -First 10

ディスク I/O アクティビティの多い上位 10 のプロセスが表示されます。を使用します。ハンドル特定のプロセスが使用しているファイルを確認するための Sysinternals の CLI ツール:

handle.exe -p <ProcessNameOrPID>

このコマンドは、指定されたプロセス (PID で識別される) の開いているファイル記述子をすべて表示します。

ここでは、ハンドル ツールを使用して Windows 上でロックされたファイルを解放する例を示します。

どのプロセスが高いディスク負荷を生成するかを特定するのに役立つ主な管理ツールを確認しました。

Related Posts