Win32_PerfRawData_
PerfOS_Memory クラス - WMI Library
Win32_PerfRawData_
PerfOS_Memory クラスの説明
Memory パフォーマンス オブジェクトには、物理メモリおよび仮想メモリの動作を表示するカウンターがあります。物理メモリはランダム アクセス メモリの領域です。仮想メモリは物理メモリ内とディスク上の領域からなります。メモリのカウンターの多くは、ページング (ディスクと物理メモリの間で起こるコードとデータのページ移動) を監視します。過度なページングによるメモリ不足は、システム処理の遅延の原因となります。
WMI Provider は、WmiPerfInst です。
プロパティ リスト
AvailableBytes
Data Type: uint64
Access Type: Read Only
プロセスへの割り当てまたはシステムの使用にすぐに利用可能な物理メモリのサイズをバイト数で表示します。スタンバイ (キャッシュ済み)、空き、およびゼロ ページの一覧に割り当てられたメモリの合計と等しくなります。
AvailableKBytes
Data Type: uint64
Access Type: Read Only
プロセスへの割り当てまたはシステムの使用にすぐに利用可能な物理メモリのサイズをキロバイト数で表示します。スタンバイ (キャッシュ済み)、空き、およびゼロ ページの一覧に割り当てられたメモリの合計と等しくなります。
AvailableMBytes
Data Type: uint64
Access Type: Read Only
プロセスへの割り当てまたはシステムの使用にすぐに利用可能な物理メモリのサイズをメガバイト数で表示します。スタンバイ (キャッシュ済み)、空き、およびゼロ ページの一覧に割り当てられたメモリの合計と等しくなります。
CacheBytes
Data Type: uint64
Access Type: Read Only
現在、物理メモリ内にあってアクティブになっているシステム ファイル キャッシュの部分のサイズをバイト数で表示します。Cache Bytes と Memory\\System Cache Resident Bytes カウンターは同一です。このカウンターは、平均値ではなく最新の監視値のみを表示します。
CacheBytesPeak
Data Type: uint64
Access Type: Read Only
システムが最後に再起動されてからシステム ファイル キャッシュが使用した最大バイト数です。この値は、キャッシュの現在のサイズを超える場合があります。このカウンターは、平均値ではなく最新の監視値のみを表示します。
CacheFaultsPersec
Data Type: uint32
Access Type: Read Only
ファイル システム キャッシュでシークされたページが検出されず、メモリの別の場所から取り出す (ソフト フォールト) か、またはディスクから取り出す (ハード フォールト) 必要があるときにフォールトが発生する数です。ファイル システム キャッシュは、アプリケーション用に最後に使用されたデータのページが保管される物理メモリの領域です。キャッシュの処理状況は、ほとんどのアプリケーション I/O 操作の信頼できるインジケーターです。このカウンターは、各操作でのページ フォールの数に関わりなく、フォールトの数を示します。
Caption
Data Type: string
Access Type: Read Only
統計またはメトリックの簡単な説明 (1 行分の文字列) です。
CommitLimit
Data Type: uint64
Access Type: Read Only
ページング ファイルを拡張する必要なしにコミットできる仮想メモリの領域をバイト数で表示します。コミット メモリは、ディスク ページング ファイルに予約されている領域がある物理メモリです。各論理ドライブに 1 つのページング ファイルがあります。 ページング ファイルが拡張されると、それに従ってこのリミット値が増えます。このカウンターは、平均値ではなく最新の監視値のみを表示します。
CommittedBytes
Data Type: uint64
Access Type: Read Only
コミットされた仮想メモリのサイズをバイト数で表示します。コミット メモリは、領域がディスク ページング ファイルに予約されている物理メモリです。各物理ドライブにはページング ファイルが 1 つ以上あります。このカウンターは、平均値ではなく最新の監視値のみを表示します。
DemandZeroFaultsPersec
Data Type: uint32
Access Type: Read Only
フォールトを解決するために必要なゼロ ページの数です。以前保存されていたデータが空になったゼロだけのページであるゼロ ページは、Windows のセキュリティ機能の 1 つです。これにより、メモリ領域を使用した以前のプロセスによって保存されたデータを、後のプロセスが参照しないようにします。Windows では、この処理を速めるためにゼロ ページのリストを保持します。このカウンターは、フォールトを解決するために取り出されたページの数に関わりなく、フォールトの数を示します。このカウンターは、最新の 2 つのサンプリングで監視した値の差をサンプリング間隔の時間で割った値を表示します。
Description
Data Type: string
Access Type: Read Only
統計またはメトリックの説明です。
FreeAndZeroPageListBytes
Data Type: uint64
Access Type: Read Only
空きおよびゼロ ページの一覧に割り当てられる物理メモリのサイズをバイト数で表示します。このメモリにはキャッシュ データは含まれません。このメモリは、プロセスへの割り当てまたはシステムの使用にすぐに利用可能です。
FreeSystemPageTableEntries
Data Type: uint32
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
LongTermAverageStandbyCacheLifetimes
Data Type: uint32
Access Type: Read Only
Long-Term Average Standby Cache Lifetime は、スタンバイ キャッシュ内に長期間存在したデータの平均有効期限を秒単位で計測したものです。
ModifiedPageListBytes
Data Type: uint64
Access Type: Read Only
更新されたページの一覧に割り当てられる物理メモリのサイズをバイト数で表示します。このメモリにはプロセス、システム、およびシステム キャッシュによってアクティブに使用されていないキャッシュ データおよびコードが含まれます。このメモリをプロセスに割り当てる、またはシステムで使用するには、事前に書き込んでおく必要があります。
Name
Data Type: string
Access Type: Read Only
Name プロパティにより、統計またはメトリックを認識するラベルが定義されます。サブクラスの場合、プロパティは上書きされて Key プロパティとなります。
PageFaultsPersec
Data Type: uint32
Access Type: Read Only
1 秒間のページ フォールト数の平均です。1 秒間のページ フォールト数で計測されます。各フォールト操作では、1 ページのみページ フォールトが発生するので、この数はページ フォールト操作数とも一致します。このカウンターはハード フォールト (ディスク アクセスが必要) およびソフト フォールト (物理メモリ以外の場所でページ フォールトが発生した場所) を含みます。ほとんどのプロセッサは、重要でない多くのソフト フォールトを処理できます。ただし、ディスクのアクセスを必要とするようなハード フォールトは重大な遅延の原因となることがあります。
PageReadsPersec
Data Type: uint32
Access Type: Read Only
ハード ページ フォールトを解決するためにディスクが読み取られた率です。このカウンターは、各操作が取得したページの数に関わりなく、読み取り操作の数をカウントします。プロセスが参照する仮想メモリのページが、ワーキング セットまたは物理メモリのどこにもなく、ディスクから取得される必要があるときに、ハード ページ フォールトが発生します。このカウンターは、システム全体の遅延を引き起こすフォールトのプライマリ インジケーターです。(通常、アプリケーションが要求する) ファイル システム キャッシュ内および非キャッシュのマップされたメモリ ファイル内のフォールトを解決するための読み取り操作を含みます。最新の 2 つのサンプルで監視された値の差を、サンプリング間隔の時間で除算した値がカウンターで表示されます。
PagesInputPersec
Data Type: uint32
Access Type: Read Only
ハード ページ フォールトを解決するためにディスクから読み取られたページの率です。プロセスが参照する仮想メモリのページが、ワーキング セットまたは物理メモリのどこにもなく、ディスクから引き出される必要があるときに、ハード ページ フォールトが発生します。ページ フォールトが発生すると、読み取り操作の効果を最大にするために、連続する複数のページをメモリに読み取ろうとします。それぞれの読み取り操作中にメモリに読み取られたページ数の平均を判断するために、Memory\\Pages Input/sec の値を Memory\\Page Reads/sec の値と比較します。
PagesOutputPersec
Data Type: uint32
Access Type: Read Only
物理メモリの領域を解放するためにディスクに書き込まれたページの数です。ページは、物理メモリ内で変更された場合にのみディスクに書き戻されるので、コードではなくデータを保持します。ページ出力率が高いと、メモリ不足になる場合があります。物理メモリが不足している場合、Windows はメモリ領域を解放するためにページをディスクに書き戻します。このカウンターはページの数を示すので、変換しないでほかのページ カウントと比較できます。
PagesPersec
Data Type: uint32
Access Type: Read Only
ハード ページ フォールトを解決するためにディスクから読み取られた、またはディスクへ書き込まれたページの数です。このカウンターは、システム全体の遅延を引き起こすフォールトのプライマリ インジケーターです。Memory\\Pages Input/sec および Memory\\Pages Output/sec の合計です。ページの数がカウントされるので、変換しないで、Memory\\Page Faults/sec などのページ カウントと比較することができます。(通常、アプリケーションが要求する) ファイル システム キャッシュ内および非キャッシュのマップされたメモリ ファイル内のフォールトを解決するために引き出されたページを含みます。
PageWritesPersec
Data Type: uint32
Access Type: Read Only
物理メモリの領域を解放するためにページがディスクに書き込まれた数です。ページは、物理メモリ内で変更された場合にのみディスクに書き込まれるので、コードではなくデータを保持します。このカウンターは、各操作で書き込まれたページの数とは関わりなく、書き込み操作をカウントします。このカウンターは、最新の 2 つのサンプリングで監視した値の差をサンプリング間隔の時間で割った値を表示します。
PercentCommittedBytesInUse
Data Type: uint32
Access Type: Read Only
Memory\\Committed Bytes の Memory\\Commit Limit に対する割合です。コミット メモリは、ページング ファイルに領域が予約されている物理メモリです。 Commit Limit はページング ファイルのサイズにより決定されます。ページング ファイルが拡張されると、Commit Limit も増え、割合は低くなります。このカウンターは、平均値ではなく現在の値のみをパーセントで表示します。
PercentCommittedBytesInUse_Base
Data Type: uint32
Access Type: Read Only
N/A
PoolNonpagedAllocs
Data Type: uint32
Access Type: Read Only
非ページ プールの領域を割り当てるための呼び出しの回数です。非ページ プールは、ディスクに書き込まれずに、割り当てられる限り物理メモリ内に存在するオブジェクト用のシステム メモリの領域 (オペレーテイング システムで使用される物理メモリ) です。各呼び出しで割り当てられる領域の大きさに関係なく、領域を割り当てるための呼び出しの回数で計測されます。このカウンターは、平均値ではなく最新の監視値のみを表示します。
PoolNonpagedBytes
Data Type: uint64
Access Type: Read Only
ディスクに書き込むことはできず、割り当てられている限りは物理メモリ内に存在するオブジェクトに使用されるシステム仮想メモリの領域である非ページ プールのサイズをバイト数で表示します。Memory\\Pool Nonpaged Bytes は、Process\\Pool Nonpaged Bytes とは別に算出されるので、Process(_Total)\\Pool Nonpaged Bytes とは異なる場合があります。このカウンターでは、平均値ではなく最新の監視値のみが表示されます。
PoolPagedAllocs
Data Type: uint32
Access Type: Read Only
ページ プールの領域を割り当てるための呼び出しの回数です。ページ プールは、使用されていない場合はディスクに書き込むことのできるオブジェクトに使用されるシステム仮想メモリの領域です。各呼び出しで割り当てられる領域の大きさに関係なく、領域を割り当てるための呼び出しの回数で計測されます。このカウンターは、平均値ではなく最新の監視値のみを表示します。
PoolPagedBytes
Data Type: uint64
Access Type: Read Only
使用されていない場合はディスクに書き込むことのできるオブジェクトに使用されるシステム仮想メモリの領域であるページ プールのサイズをバイト数で表示します。Memory\\Pool Paged Bytes は、Process\\Pool Paged Bytes とは別に算出されるので、Process(_Total)\\Pool Paged Bytes とは異なる場合があります。このカウンターは、平均値ではなく最新の監視値のみを表示します。
PoolPagedResidentBytes
Data Type: uint64
Access Type: Read Only
現在、物理メモリ内にあってアクティブになっているページ プールの部分のサイズをバイト数で表示します。ページ プールは、使用されていない場合はディスクに書き込むことのできるオブジェクトに使用されるシステム仮想メモリの領域です。このカウンターは、平均値ではなく最新の監視値のみを表示します。
StandbyCacheCoreBytes
Data Type: uint64
Access Type: Read Only
コア スタンバイ キャッシュ ページの一覧に割り当てられる物理メモリのサイズをバイト数で表示します。このメモリにはプロセス、システム、およびシステム キャッシュによってアクティブに使用されていないキャッシュ データおよびコードが含まれます。このメモリは、プロセスへの割り当てまたはシステムの使用にすぐに利用可能です。システムで利用可能な空きおよびゼロ メモリが不足した場合、優先順位の高いスタンバイ キャッシュ ページの一覧のメモリの前に、優先順位の低いスタンバイ キャッシュ ページの一覧のメモリが再利用されます。
StandbyCacheNormalPriorityBytes
Data Type: uint64
Access Type: Read Only
優先順位が中程度のスタンバイ キャッシュ ページの一覧に割り当てられる物理メモリのサイズをバイト数で表示します。このメモリにはプロセス、システム、およびシステム キャッシュによってアクティブに使用されていないキャッシュ データおよびコードが含まれます。このメモリは、プロセスへの割り当てまたはシステムの使用にすぐに利用可能です。システムで利用可能な空きおよびゼロ メモリが不足した場合、優先順位の高いスタンバイ キャッシュ ページの一覧のメモリの前に、優先順位の低いスタンバイ キャッシュ ページの一覧のメモリが再利用されます。
StandbyCacheReserveBytes
Data Type: uint64
Access Type: Read Only
予約スタンバイ キャッシュ ページの一覧に割り当てられる物理メモリのサイズをバイト数で表示します。このメモリにはプロセス、システム、およびシステム キャッシュによってアクティブに使用されていないキャッシュ データおよびコードが含まれます。このメモリは、プロセスへの割り当てまたはシステムの使用にすぐに利用可能です。システムで利用可能な空きおよびゼロ メモリが不足した場合、優先順位の高いスタンバイ キャッシュ ページの一覧のメモリの前に、優先順位の低いスタンバイ キャッシュ ページの一覧のメモリが再利用されます。
SystemCacheResidentBytes
Data Type: uint64
Access Type: Read Only
現在、物理メモリ内にあってアクティブになっているシステム ファイル キャッシュの部分のサイズをバイト数で表示します。System Cache Resident Bytes と Memory\\Cache Bytes カウンターは同一です。このカウンターは、平均値ではなく最新の監視値のみを表示します。
SystemCodeResidentBytes
Data Type: uint64
Access Type: Read Only
現在、物理メモリ内にあってアクティブになっている、ページングが可能なオペレーティング システム コードのサイズをバイト数で表示します。この値は、Memory\\System Code Total Bytes のコンポーネントです。Memory\\System Code Resident Bytes (および Memory\\System Code Total Bytes) には、物理メモリに存在しなければならず、ディスクに書き込むことのできないコードは含まれません。このカウンターは、平均値ではなく最新の監視値のみを表示します。
SystemCodeTotalBytes
Data Type: uint64
Access Type: Read Only
現在、システム仮想アドレス空間にマップされている、ページングが可能なオペレーティング システム コードのサイズをバイト数で表示します。この値は、Ntoskrnl.exe、Hal.dll、ブート ドライバー、および Ntldr/osloader が読み込むファイル システムのバイト数を合計して算出されます。このカウンターには、物理メモリに存在しなければならず、ディスクに書き込むことのできないコードは含まれません。このカウンターは、平均値ではなく最新の監視値のみを表示します。
SystemDriverResidentBytes
Data Type: uint64
Access Type: Read Only
デバイス ドライバーが使用するページングが可能な物理メモリのサイズをバイト数で表示する、ドライバーのワーキング セット (物理メモリ領域) です。この値は、Memory\\System Driver Total Bytes のコンポーネントで、ディスクへ書き込まれているドライバー メモリも含みます。Memory\\System Driver Resident Bytes および Memory\\System Driver Total Bytes は、ディスクに書き込まれないメモリを含みません。
SystemDriverTotalBytes
Data Type: uint64
Access Type: Read Only
デバイス ドライバーが現在使用しているページングが可能な仮想メモリのサイズをバイト数で表示します。ページングが可能なメモリは、使用されていない場合はディスクに書き込むことができます。これは、物理メモリ (Memory\\System Driver Resident Bytes)、およびディスクにページングされたコードとデータを含みます。Memory\\System Code Total Bytes のコンポーネントです。このカウンターは、平均値ではなく最新の監視値のみを表示します。
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
TransitionFaultsPersec
Data Type: uint32
Access Type: Read Only
ページを共有している別のプロセスによって使われていたページ、または更新されたページ リスト、スタンバイ リストにあるページを回復するか、またはページ フォールト時にディスクに書き込まれることで解決されたページ フォールトの数です。ページは、追加のディスク処理なしに回復されました。トランジション フォールトは、フォールトの数でカウントされます。なぜなら各操作に 1 ページのみがフォールトするため、ページ フォールトの数と一致します。
TransitionPagesRePurposedPersec
Data Type: uint32
Access Type: Read Only
異なる目的に再使用された移行キャッシュ ページ数の率です。これらのページはページ キャッシュ内に残り、ページが将来アクセスされるイベントにソフト フォールト (バックアップ ストアから取得する代わりに) を提供します。これらのページはプライベートまたは共有可能メモリを含むことができます。
WriteCopiesPersec
Data Type: uint32
Access Type: Read Only
物理メモリにある別の場所からページのコピーをすることによって解決されたページ フォールトの率です。これは、書き込まれたときにページをコピーするだけなので、データを共有するには経済的な手法です。これ以外の場合は、ページは共有となります。カウンターによってコピー数が表示され各操作でコピーされたページ数は無視されます。
メソッド リスト
Win32_PerfRawData_PerfOS_Memory クラスにはメソッドはありません。
WQL サンプル (e.g. VB/C#/PowerShell)
SELECT * FROM Win32_PerfRawData_PerfOS_Memory
VB6/VBS
SWbemServices クラスの ExecQuery メソッドから WQL を実行可能です。
Set oClassSet = Service.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfOS_Memory")
または下記のような記述でも実行可能です。
Set oClassSet = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_PerfRawData_PerfOS_Memory")
VB.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_PerfOS_Memory"
oClass = oSearcher.Get
C#.Net
ObjectQuery クラスの QueryString プロパティに WQL を設定し、ManagementObjectSearcher クラスの Get メソッドから WQL を実行可能です。
oSearcher.Query.QueryString = "SELECT * FROM Win32_PerfRawData_PerfOS_Memory"
oClass = oSearcher.Get();
PowerShell
Get-WmiObject コマンドレットの query オプションを指定し WQL を実行可能です。
Get-WmiObject -query "SELECT * FROM Win32_PerfRawData_PerfOS_Memory"
またはクラス名を直接指定する実行方法もあります。
Get-WmiObject Win32_PerfRawData_PerfOS_Memory
このサイトの情報について
このコンテンツは WMI の各コンポーネントが持っている Win32_PerfRawData_PerfOS_Memory クラス情報を参照・抽出しリファレンスとして作成・提供しています。
参照した 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