VBScriptに関する質問です。解決していただけたら500ポイント差し上げます。

VBScriptで、Windowsのカーネルメモリの非ページサイズを取得する方法を教えてください。
Windowsタスクマネージャの「パフォーマンス」タブで「カーネルメモリ」枠内の「非ページ」に表示されている値です。
VBScriptで不可であればVB6でもいいのですが、できればVBScriptで取得する方法が知りたいです。
取得する方法が解説されているページ、もしくは取得方法を教えてください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/12/21 11:34:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:cx20 No.1

回答回数607ベストアンサー獲得回数108

ポイント500pt

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...

id:yokodai

まさに求めていたものです。

参考情報までいただきありがとうございました。

2007/12/21 12:35:11
  • id:cx20
    たくさんのポイントありがとうございます。

    関係ないですが、はてなのシステム日付が変ですね・・・。
    登録:2007-12-21 11:45:06
    終了:2007-12-21 11:34:05
    回答:2007-12-21 11:26:17
    のようになっています(タイムリープしてる?)

    とりあえず不具合報告しておきました。
    http://i.hatena.ne.jp/idea/18373

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません