Win32_PerfRawData_
PerfProc_Thread クラス - WMI Library
Win32_PerfRawData_
PerfProc_Thread クラスの説明
Thread パフォーマンス オブジェクトには、スレッド動作のアスペクトを計測するカウンターがあります。スレッドはプロセッサ上で命令を実行する基本オブジェクトです。実行中のすべてのプロセスには、少なくとも 1 つのスレッドがあります。
WMI Provider は、WmiPerfInst です。
プロパティ リスト
Caption
Data Type: string
Access Type: Read Only
統計またはメトリックの簡単な説明 (1 行分の文字列) です。
ContextSwitchesPersec
Data Type: uint32
Access Type: Read Only
あるスレッドから別のスレッドへの切り替え率を表示します。スレッドの切り替えは、1 つのプロセス内で、または複数のプロセス間でのどちらかで行われます。スレッドの切り替えは、ほかのスレッドに情報を要求するスレッドか、またはほかの実行可能で優先順位の高いスレッドに割り込まれるスレッドにより起こります。以前のオペレーティング システムとは異なり、Windows NT は従来のユーザー保護および特権モードに加えて、サブシステム保護にプロセス境界を使用します。これらのサブシステム プロセスは、追加の保護を提供します。したがって、アプリケーションに代わって Windows NT が行う処理は、アプリケーションの Privileged Time に加え、別のサブシステム プロセス内で現れることがあります。サブシステム プロセスへ切り替えると、アプリケーション スレッドでコンテキストの切り替えが 1 回起こります。アプリケーションへ切り替え返すと、サブシステム スレッドで別のコンテキストの切り替えが起こります。
Description
Data Type: string
Access Type: Read Only
統計またはメトリックの説明です。
ElapsedTime
Data Type: uint64
Access Type: Read Only
このスレッドの総実行経過時間 (秒) です。
Frequency_Object
Data Type: uint64
Access Type: Read Only
N/A
Frequency_PerfTime
Data Type: uint64
Access Type: Read Only
N/A
Frequency_Sys100NS
Data Type: uint64
Access Type: Read Only
N/A
IDProcess
Data Type: uint32
Access Type: Read Only
該当プロセスの一意の識別子です。この番号は再利用され、任意のプロセスを、そのプロセスが終了するまでの間のみ識別します。
IDThread
Data Type: uint32
Access Type: Read Only
該当スレッドの一意の識別子です。この番号は再利用され、任意のスレッドを、そのスレッドが終了するまでの間のみ識別します。
Name
Data Type: string
Access Type: Read Only
Name プロパティにより、統計またはメトリックを認識するラベルが定義されます。サブクラスの場合、プロパティは上書きされて Key プロパティとなります。
PercentPrivilegedTime
Data Type: uint64
Access Type: Read Only
プロセスのスレッドが特権モードでコード実行に費やした経過時間の割合をパーセントで表示します。Windows のシステム サービスは呼び出されると、システム専用データへアクセスするために、しばしば特権モードで実行します。これらのデータはユーザー モードで実行するスレッドのアクセスから保護されています。システムの呼び出しは、明示的に、またはページ フォールトや割り込みのように暗示的に行われる場合があります。以前のオペレーティング システムと異なり、Windows では、ユーザーおよび特権モードの伝統的な保護に加え、プロセス境界を使って、サブシステムを保護します。アプリケーションに代わって Windows が行う処理には、プロセス内の Privileged Time に加え、別のサブシステム プロセス内で現れるものもあります。
PercentProcessorTime
Data Type: uint64
Access Type: Read Only
該当プロセスのスレッドすべてが、命令を実行するためにプロセッサを使用した経過時間の割合です。命令はコンピューター内の実行の基本ユニット、スレッドは命令を実行するオブジェクト、プロセスはプログラム実行時に作成されるオブジェクトです。任意のハードウェア割り込みやトラップ条件を処理するために実行されるコードもこのカウントに含まれます。
PercentUserTime
Data Type: uint64
Access Type: Read Only
該当スレッドがユーザー モードでコードの実行に費やした時間の割合をパーセントで表示します。アプリケーション、環境サブシステムおよび統合サブシステムはユーザー モードで実行します。ユーザー モードで実行するコードは、Windows NT の Executive、カーネル、デバイス ドライバーの整合性を損ないません。以前のオペレーティング システムとは異なり、Windows NT は従来のユーザー保護および特権モードに加えて、サブシステム保護にプロセス境界を使用します。これらのサブシステム プロセスは、追加の保護を提供します。したがって、アプリケーションに代わって Windows NT が行う処理は、プロセスの Privileged Time に加え、別のサブシステム プロセス内で現れることがあります。
PriorityBase
Data Type: uint32
Access Type: Read Only
このスレッドの現在の基本優先順位です。システムは、スレッドがユーザー入力を処理している場合はスレッドの動的優先順位を基本優先順位の上に引き上げ、スレッドが計算処理にかかる場合はスレッドの動的優先順位を基本優先順位に引き下げます。
PriorityCurrent
Data Type: uint32
Access Type: Read Only
このスレッドの現在の動的優先順位です。システムは、スレッドがユーザー入力を処理している場合はスレッドの動的優先順位を基本優先順位の上に引き上げ、スレッドが計算処理にかかる場合はスレッドの動的優先順位を基本優先順位に引き下げます。
StartAddress
Data Type: uint32
Access Type: Read Only
このスレッドの開始仮想アドレスです。
ThreadState
Data Type: uint32
Access Type: Read Only
スレッドの現在の状態を表示します。0 は Initialized (初期化)、1 は Ready (準備完了)、2 は Running (実行)、3 は Standby (スタンバイ)、4 は Terminated (終了)、5 は Wait (待機)、6 は Transition (ドランジション)、7 は Unknown (不明) です。Running スレッドはプロセッサを使用中で、Standby スレッドはこれからプロセッサを使用することを意味します。Ready スレッドは、プロセッサを使用する必要があるが、どのプロセッサも使用中なため任意のプロセッサが空くまで待機状態にあることを意味します。Transition のスレッドは、実行するためにリソースを待機しています (たとえば、ディスクからページ インされるためにその実行スタックを待機している状態など)。Waiting スレッドは、周辺機器の操作が完了する、または特定のリソースが空くのを待っているため、プロセッサに使用されることはありません。
ThreadWaitReason
Data Type: uint32
Access Type: Read Only
スレッドが待機状態にあるときのみに適用される値です (Thread State を参照)。値は次のようになります。スレッドが Executive を待機している場合は 0 または 7、空きページは 1 または 8、ページ インは 2 または 9、プール割り当ては 3 または 10、実行遅延は 4 または 11、中断状態は 5 または 12、ユーザー要求は 6 または 13、イベント ペア ハイは 14、イベント ペア ローは 15、LPC 受信は 16、LPC 応答は 17、仮想メモリは 18、ページ アウトは 19。20 以上の値は、現時点では何も割り当てられていません。イベント ペアは保護状態のサブシステムとの通信に使用されます (Context Switches を参照)。
Timestamp_Object
Data Type: uint64
Access Type: Read Only
N/A
Timestamp_PerfTime
Data Type: uint64
Access Type: Read Only
N/A
Timestamp_Sys100NS
Data Type: uint64
Access Type: Read Only
N/A
メソッド リスト
Win32_PerfRawData_PerfProc_Thread クラスにはメソッドはありません。
WQL サンプル (e.g. VB/C#/PowerShell)
SELECT * FROM Win32_PerfRawData_PerfProc_Thread
VB6/VBS
SWbemServices クラスの ExecQuery メソッドから WQL を実行可能です。
Set oClassSet = Service.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfProc_Thread")
または下記のような記述でも実行可能です。
Set oClassSet = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_PerfRawData_PerfProc_Thread")
VB.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_PerfProc_Thread"
oClass = oSearcher.Get
C#.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_PerfProc_Thread"
oClass = oSearcher.Get();
PowerShell
Get-WmiObject コマンドレットの query オプションを指定し WQL を実行可能です。
Get-WmiObject -query "SELECT * FROM Win32_PerfRawData_PerfProc_Thread"
またはクラス名を直接指定する実行方法もあります。
Get-WmiObject Win32_PerfRawData_PerfProc_Thread
このサイトの情報について
このコンテンツは WMI の各コンポーネントが持っている Win32_PerfRawData_PerfProc_Thread クラス情報を参照・抽出しリファレンスとして作成・提供しています。
参照した WMI の名前空間は root/CIMV2、書き出し環境は Windows 10 になります。
WMI の使い方 (VB6, VBS, VBA, VB.NET, VC#, PowerShell を対象) に関しては WMI Step も参考にしてみてください。(WMI 初心者・入門編としてもおすすめです。)
各種言語を使用した WMI を使用するたたき台としてソーステンプレートも公開しています。プログラム/スクリプト作成時に役立てば…と思っています。
今後各 WMI Class をサポートしている OS の種類を掲載する予定です。
予定OS: Windows XP/Windows Vista/Windows 7/Windows 8/Windows 10/Windows Server 2003/Windows Server 2003 R2/Windows Server 2008/Windows Server 2008 R2