VBScriptで、Windowsのカーネルメモリの非ページサイズを取得する方法を教えてください。
Windowsタスクマネージャの「パフォーマンス」タブで「カーネルメモリ」枠内の「非ページ」に表示されている値です。
VBScriptで不可であればVB6でもいいのですが、できればVBScriptで取得する方法が知りたいです。
取得する方法が解説されているページ、もしくは取得方法を教えてください。
VBScript からでしたら WMI を使用することで取得可能です。
' File : CheckMemory.vbs ' Usage : CScript CheckMemory.vbs //Nologo strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") set objRefresher = CreateObject("WbemScripting.SWbemRefresher") Set objMemory = objRefresher.AddEnum _ (objWMIService, "Win32_PerfFormattedData_PerfOS_Memory").objectSet objRefresher.Refresh Do For each objItem in objMemory Wscript.Echo "Pool Nonpaged Bytes: " & objItem.PoolNonpagedBytes Wscript.Echo "Pool Paged Bytes: " & objItem.PoolPagedBytes Next objRefresher.Refresh WScript.Sleep 1000 Loop
<実行結果> C:\home\edu\hatena\yokodai>CScript CheckMemory.vbs Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Pool Nonpaged Bytes: Pool Paged Bytes: Pool Nonpaged Bytes: 41689088 … 非ページサイズ(バイト) Pool Paged Bytes: 154460160 … ページサイズ(バイト) Pool Nonpaged Bytes: 41689088 Pool Paged Bytes: 154464256 Pool Nonpaged Bytes: 41689088 Pool Paged Bytes: 154480640 ^C
<参考情報>
■ Win32_PerfFormattedData_PerfOS_Memory Class
http://msdn2.microsoft.com/en-us/library/aa394268.aspx
■ スクリプト センター / 利用できるメモリの監視
http://www.microsoft.com/japan/technet/scriptcenter/scripts/hard...
まさに求めていたものです。
参考情報までいただきありがとうございました。