PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22741 | 06/08/09 10:59:38 | RE(2):PB9.0: CPU使用率取得 By tamataku |
22739 | 06/08/08 18:48:09 | RE(1):PB9.0: CPU使用率取得 By Valkyrie |
22737 | 06/08/07 14:19:21 | PB9.0: CPU使用率取得 By tamataku |
カテゴリ:スクリプトの記述
日付:2006年08月08日 18:48 発信者:Valkyrie
題名:RE(1):PB9.0: CPU使用率取得
tamatakuさん、こんばんは。
getcpust.dll では、うまくいきませんでした。
http://nienie.com/~masapico/api_sample_pdh03_vb.html を参考に、PDH.DLL (Performance Data Helper DLL)
を使用したところ、それなりのデータが取れました。(Windows XP SP2で確認、2003は未確認)
-- 外部関数定義 --
// Windows Performance Data Helper
FUNCTION LONG PdhOpenQuery( &
REF LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbOpenQuery\"
FUNCTION LONG PdhAddCounter( &
LONG QueryHandle, &
STRING CounterPath, &
REF LONG CounterHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbAddCounter\"
FUNCTION LONG PdhCollectQueryData( &
LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhCollectQueryData\"
FUNCTION Double PdhGetDoubleCounterValue( &
LONG CounterHandle, &
REF LONG CounterStatus &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbGetDoubleCounterValue\"
FUNCTION LONG PdhCloseQuery( &
LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhCloseQuery\"
-- スクリプト --
LONG ll_rc
LONG ll_Query
LONG ll_Counter
LONG ll_CounterStatus
// 新規クエリーのオープン
ll_rc = PdhOpenQuery(ll_Query)
// CPU使用率を計測するカウンタを追加
ll_rc = PdhAddCounter(ll_Query, \"\\Processor(_Total)\\% Processor Time\", ll_Counter)
//計測開始
ll_rc = PdhCollectQueryData(ll_Query)
sleep(5)
// 計測終了
ll_rc = PdhCollectQueryData(ll_Query)
// 結果の表示
Messagebox(\"CPU 使用率\", String(PdhGetDoubleCounterValue(ll_Counter, ll_CounterStatus)))
// 後処理
PdhCloseQuery(ll_Query)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net 9
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle10G
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.