Win32_PerfRawData_
NETFramework_NETCLRMemory クラス - WMI Library
Win32_PerfRawData_
NETFramework_NETCLRMemory クラスの説明
CLR ガベージ コレクション ヒープのカウンターです。
WMI Provider は、WmiPerfInst です。
プロパティ リスト
AllocatedBytesPersec
Data Type: uint64
Access Type: Read Only
このカウンターは GC ヒープに割り当てられた毎秒のバイト率を表示します。このカウンターは割り当てごとではなく、各 GC の終了ごとに更新されます。このカウンターは全体の平均ではなく、サンプル間隔の継続時間で割った最後の 2 つのサンプルの間で観察された値の違いを表示します。
Caption
Data Type: string
Access Type: Read Only
統計またはメトリックの簡単な説明 (1 行分の文字列) です。
Description
Data Type: string
Access Type: Read Only
統計またはメトリックの説明です。
FinalizationSurvivors
Data Type: uint64
Access Type: Read Only
このカウンターは、完了するのを待つために、ガベージ コレクトを耐え抜いてコレクトされたオブジェクトの数を表示します。これらのオブジェクトが他のオブジェクトへの参照を持っているならば、それらのオブジェクトも同様に耐え抜きますが、このカウンターではカウントされません。"Promoted Finalization-Memory from Gen 0" および "Promoted Finalization-Memory from Gen 1" カウンターは、完了するために耐えぬいたすべてメモリを表します。このカウンターは累積カウンターではありません。このカウンターは、この特定の GC 間に生き残ったカウント数だけを使って GC の最後に更新されます。このカウンターは、完了するためにアプリケーションがこうむる追加のオーバーヘッドを示すようデザインされました。
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
Gen0heapsize
Data Type: uint64
Access Type: Read Only
このカウンターは、ジェネレーション 0 (Gen 0) に割り当てられる最大のバイト数を表示します。ジェネレーション 0 に割り当てられた現在のバイト数は示しません。Gen 0 GC は、最後の GC 以来、割り当てがこのサイズを超えると発生します。Gen 0 サイズはガベージ コレクターによって調整され、アプリケーションの実行中に変更します。Gen 0 コレクションの最後に Gen 0 ヒープのサイズは実際に 0 バイトです。このカウンターは、次の Gen 0 GC を発生させる割り当てのサイズをバイトで表示します。このカウンターは GC の最後に更新されます。割り当てごとには更新されません。
Gen0PromotedBytesPerSec
Data Type: uint64
Access Type: Read Only
このカウンターは、ジェネレーション 0 (一番新しい) からジェネレーション 1 に上位変換したメモリの毎秒のバイト数を表示します。このカウンターは、単に完了するのを待つためだけに上位変換したオブジェクトは含みません。メモリは、ガベージ コレクションを耐え抜くと上位変換します。このカウンターは、毎秒作成される比較的に長続きするオブジェクトに関するインディケータとしてデザインされました。このカウンターは、サンプルの時間間隔で分けられた、最後の 2 つ のサンプル間で観察された値の違い表示します。
Gen1heapsize
Data Type: uint64
Access Type: Read Only
このカウンターは、ジェネレーション 1 (Gen 1) の現在のバイト数を表示します。このカウンターでは Gen 1 の最大サイズを表示しません。オブジェクトはこのジェネレーションでは直接割り当てられません。オブジェクトは前の Gen 0 GC から上位変換されます。このカウンターは GC の最後に更新されます。割り当てごとには更新されません。
Gen1PromotedBytesPerSec
Data Type: uint64
Access Type: Read Only
このカウンターは、ジェネレーション 1 からジェネレーション 2 (一番古い) に進んだメモリの毎秒のバイト数を表示します。このカウンターは、単に完了するのを待つためだけに上位変換したオブジェクトは含みません。メモリは、ガベージ コレクションを耐え抜くと上位変換します。ジェネレーション 2 は一番古いため、この次はありません。このカウンターは、毎秒作成される非常に長続きするオブジェクトに関するインディケータとしてデザインされました。このカウンターは、サンプルの時間間隔で分けられた、最後の 2 つ のサンプル間で観察された値の違い表示します。
Gen2heapsize
Data Type: uint64
Access Type: Read Only
このカウンターは、ジェネレーション 2 (Gen 2) の現在のバイト数を表示します。オブジェクトはこのジェネレーションでは直接割り当てられません。オブジェクトは前の Gen 1 GC 中に Gen 1 から上位変換されます。このカウンターは GC の最後に更新されます。割り当てごとには更新されません。
LargeObjectHeapsize
Data Type: uint64
Access Type: Read Only
このカウンターは、大きいオブジェクトのヒープの現在のサイズをバイト数で表示します。しきい値より大きいオブジェクトは、ガベージ コレクターによって大きいオブジェクトとして扱われ、特別なヒープに直接割り当てられます。これらは次のジェネレーションに上位変換されません。CLR v1.1 以上では、このしきい値は 85000 バイトになります。このカウンターは GC の最後に更新され、割り当てごとには更新されません。
Name
Data Type: string
Access Type: Read Only
Name プロパティにより、統計またはメトリックを認識するラベルが定義されます。サブクラスの場合、プロパティは上書きされて Key プロパティとなります。
NumberBytesinallHeaps
Data Type: uint64
Access Type: Read Only
このカウンターは次の 4 つのカウンターの合計です。Gen 0 ヒープ サイズ、Gen 1 ヒープ サイズ、Gen 2 ヒープ サイズ および大きいオブジェクトのヒープ サイズ。このカウンターは GC ヒープに割り当てられた現在のバイト数を示します。
NumberGCHandles
Data Type: uint64
Access Type: Read Only
このカウンターは現在使用されている GC ハンドルの数字を表示します。GCHandles は LR の外部とマネージ環境のリソースへのハンドルです。ハンドルは GCHeap に少量のメモリを保持しますが、費用の掛かるアンマネージ リソースになる可能性があります。
NumberGen0Collections
Data Type: uint64
Access Type: Read Only
このカウンターは、アプリケーションが開始されて以来、ジェネレーション 0 オブジェクト (最新の割り当てで一番新しい) が、ガベージ コレクション (Gen 0 GC) された回数を表示します。Gen 0 GC は、ジェネレーション 0 の利用可能なメモリが、割り当て要求を十分満たせないときに発生します。このカウンターは Gen 0 GC の最後にインクリメントされます。新しいジェネレーションの GC は古いジェネレーションの GC をすべて含みます。このカウンターは、新しいジェネレーション (Gen 1 または Gen 2) の GC が発生するときに明示的にインクリメントされます。_Global_ counter の値は正確ではないので無視するべきです。このカウンターは最新の値を表示します。
NumberGen1Collections
Data Type: uint64
Access Type: Read Only
このカウンターは、アプリケーションが開始されて以来、ジェネレーション 1 オブジェクトが、ガベージ コレクションされた回数を表示します。このカウンターは Gen 1 GC の最後にインクリメントされます。新しいジェネレーションの GC は古いジェネレーションの GC をすべて含みます。このカウンターは、新しいジェネレーション (Gen 2) の GC が発生するときに明示的にインクリメントされます。_Global_ counter の値は正確ではないので無視するべきです。このカウンターは最新の値を表示します。
NumberGen2Collections
Data Type: uint64
Access Type: Read Only
このカウンターは、アプリケーションが開始されて以来、ジェネレーション 2 オブジェクト (より古い) が、ガベージ コレクションされた回数を表示します。このカウンターは Gen 2 GC の最後にインクリメントされます (フル GC とも呼ばれます)。_Global_ counter の値は正確ではないので無視するべきです。このカウンターは最後に観察された値を表示します。
NumberInducedGC
Data Type: uint64
Access Type: Read Only
このカウンターは GC.Collect への明示的な呼び出しのためにガベージ コレクションが行われた最大の回数を表示します。GC の周波数をガベージ コレクションに合わせておくのもよい方法です。
NumberofPinnedObjects
Data Type: uint64
Access Type: Read Only
このカウンターは最後の GC で見つかったピン止めオブジェクトの数を表示します。このカウンターはガベージ コレクトされたヒープの中のピン止めオブジェクトの情報のみを記録します。たとえば Gen 0 GC は、ジェネレーション 0 ヒープ内でのみピン止めオブジェクトの列挙を生じます。ガベージ コレクターは、ピン止めオブジェクトをメモリ内で移動することはできません。
NumberofSinkBlocksinuse
Data Type: uint64
Access Type: Read Only
このカウンターは現在使用されている Sync ブロック数を表示します。Sync ブロックは、ストレージの同期情報にために割り当てられたオブジェクトごとのデータ構造です。Sync ブロックはマネージ オブジェクトに弱い参照を保持し、ガベージ コレクターによってスキャンされる必要があります。Sync ブロックは同期情報を保存するだけに限らず、COM 相互運用機能メタデータも保存できます。このカウンターは、同期プリミティブを頻繁に使用することによって生じる問題を指摘するようにデザインされました。
NumberTotalcommittedBytes
Data Type: uint64
Access Type: Read Only
このカウンターは、現在ガベージ コレクターによってコミットされている仮想メモリをバイト数で表示します。(コミット メモリは、ディスクのページング ファイルにスペースが予約されている物理的なメモリです)。
NumberTotalreservedBytes
Data Type: uint64
Access Type: Read Only
このカウンターは、現在ガベージ コレクターによってコミットされている仮想メモリをバイト数で表示します。(予約されたメモリはアプリケーションに予約された仮想メモリ スペースで、ディスク、またはメイン メモリ ページは何も使用されていません)。
PercentTimeinGC
Data Type: uint32
Access Type: Read Only
GC の % Time は、最後の GC サイクル以来、ガベージ コレクション (GC) を行うために経過した時間のパーセンテージを表示します。このカウンターは、通常、ガベージ コレクションが、アプリケーションの代わりにメモリを収集してコンパクト化を行ったというインジケーターです。このカウンターは毎回の GC の最後にのみ更新されます。カウンターの値は平均値ではなく、最後に観察した値を反映します。
PercentTimeinGC_Base
Data Type: uint32
Access Type: Read Only
N/A
ProcessID
Data Type: uint64
Access Type: Read Only
このカウンターは、監視対象である CLR プロセス インスタンスのプロセス ID を表示します。表示される値は、最初のガベージ コレクションが終了するまで 0 です。
PromotedFinalizationMemoryfromGen0
Data Type: uint64
Access Type: Read Only
このカウンターは、単に完了するのを待つためだけにジェネレーション 0 からジェネレーション 1 に上位変換したメモリの毎秒のバイト数を表示します。このカウンターは、最後の GC の最後に観察された値を表示します。これは累積カウンターではありません。
PromotedMemoryfromGen0
Data Type: uint64
Access Type: Read Only
このカウンターは、ガベージ コレクション (GC) を耐え抜いて、ジェネレーション 0 からジェネレーション 1 に上位変換したメモリのバイト数を表示します。このカウンターには、単に完了するのを待つためだけに上位変換したオブジェクトは含みません。このカウンターは、最後の GC の最後に観察された値を表示します。これは累積カウンターではありません。
PromotedMemoryfromGen1
Data Type: uint64
Access Type: Read Only
このカウンターは、ガベージ コレクション (GC) を耐え抜いて、ジェネレーション 1 からジェネレーション 2 に上位変換したメモリのバイト数を表示します。このカウンターは、単に完了するのを待つためだけに上位変換したオブジェクトは含みません。このカウンターは最後に観察された値を表示します。これは累積カウンターではありません。このカウンターは、最後の GC が Gen 0 GC のみの場合は、0 にリセットされます。
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_NETFramework_NETCLRMemory クラスにはメソッドはありません。
WQL サンプル (e.g. VB/C#/PowerShell)
SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory
VB6/VBS
SWbemServices クラスの ExecQuery メソッドから WQL を実行可能です。
Set oClassSet = Service.ExecQuery("SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory")
または下記のような記述でも実行可能です。
Set oClassSet = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory")
VB.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory"
oClass = oSearcher.Get
C#.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory"
oClass = oSearcher.Get();
PowerShell
Get-WmiObject コマンドレットの query オプションを指定し WQL を実行可能です。
Get-WmiObject -query "SELECT * FROM Win32_PerfRawData_NETFramework_NETCLRMemory"
またはクラス名を直接指定する実行方法もあります。
Get-WmiObject Win32_PerfRawData_NETFramework_NETCLRMemory
このサイトの情報について
このコンテンツは WMI の各コンポーネントが持っている Win32_PerfRawData_NETFramework_NETCLRMemory クラス情報を参照・抽出しリファレンスとして作成・提供しています。
参照した 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