タスクマネージャ(およびSysinternalsのプロセスエクスプローラ)には、「I/O読み取り」、「I/O書き込み」、「I/O読み取りバイト」、「I/O書き込みバイト」という列があります。では、これらのカウンタは正確にはどういう意味ですか?ディスクとネットワークのアクティビティ以外に、何が含まれますか?
プロセスエクスプローラーで、「ディスク読み取りバイト」と「ネットワーク受信バイト」がゼロであるが、「I/O読み取りバイト」がゼロではないプロセスがいくつか表示されます。逆に、一部のプロセスでは、「ディスク読み取りバイト」の値が「I/O読み取りバイト」よりも大きくなっています。これはどのようにして可能ですか?
I/O読み取りバイトは、単なるディスク読み取りバイトではありません。
I/O Read Bytes-ファイル、ネットワーク、デバイスI/Oなど、プロセスによって生成された入出力操作で読み取られたバイト数。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/O読み取りバイトはカウントされません。
Process ExplorerのI/O列
I/O Delta-最後の測定以降のI/O操作の変化
I/O Delta Bytes-最後の測定以降のI/Oバイトの変化。
I/Oその他-読み取りでも書き込みでもないプロセスによって生成された入出力操作の数(ファイル、ネットワーク、デバイスI/Oなど)。このタイプの操作の例は、制御機能です。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/Oその他はカウントされません。
I/O Other Bytes-ファイル、ネットワーク、デバイスI/Oなど、読み取りでも書き込みでもないプロセスによって生成された入出力操作で転送されたバイト数。このタイプの操作の例は、制御機能です。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/Oその他のバイトはカウントされません。
I/O Read Bytes-ファイル、ネットワーク、デバイスI/Oなど、プロセスによって生成された入出力操作で読み取られたバイト数。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/O読み取りバイトはカウントされません。
I/O読み取り-ファイル、ネットワーク、デバイスI/Oなど、プロセスによって生成された読み取り入出力操作の数。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/O読み取りはカウントされません。
I/O Write Bytes-ファイル、ネットワーク、デバイスI/Oなど、プロセスによって生成された入出力操作で書き込まれたバイト数。 CONSOLE(コンソール入力オブジェクト)ハンドルに向けられたI/O書き込みバイトはカウントされません。
I/O Writes-ファイル、ネットワーク、デバイスI/Oなど、プロセスによって生成された書き込み入出力操作の数。 CONSOLE(コンソール入力オブジェクト)ハンドルへのI/O書き込みはカウントされません。
ファイルの読み取り中に_Process Monitor
_を見ると(_Process Explorer
_はI/Oの使用量が多いが、ディスクの使用量がほとんどない)、ファイルが_FAST_IO
_、これは Microsoft のドキュメントによると:
高速I/O操作では、ファイルシステムとストレージドライバースタックをバイパスして、ユーザーバッファーとシステムキャッシュの間でデータが直接転送されます。