0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Tcl/TkAdvent Calendar 2021

Day 12

WindowsでTclスクリプトのメモリ使用量を調べる方法 ~ WMI編

Posted at

以前の記事でTWAPIパッケージのget_process_memory_infoメソッドを使う方法を紹介しましたが、そこに行きつくまでにWMIを使う方法も調べていたので、ついでに紹介しておきます。

WMIでメモリ使用量を調べる方法

「WMI PrivateBytes」でググっていて、以下のサイトを見つけました。

こちらのサイトにC#のサンプルコードがあるのですが、何やらSQL文のような文字列を使って問い合わせているようでした。

TWAPIでWMI問い合わせを行う記述例でも同じようにSQL文のような文字列で問い合わせていたので、これらを合わせて

package require twapi
set wmi [::twapi::wmi_root]
set query "SELECT * FROM Win32_PerfRawData_PerfProc_Process Where IDProcess=\"[pid]\""
$wmi -with {
    {ExecQuery $query}
} -iterate app {
    puts "PrivateBytes=[$app PrivateBytes]"
    $app -destroy
}

のように実行してみると、以下のような結果になりました。

PrivateBytes=17342464

余談ですが、上記のスクリプトの中でwmiやappはTclOOオブジェクトなのですが、実用的にTclOOが使われているのを初めて見てとても新鮮でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?