過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/07/22
【dev】powershell を利用して handle リークを監視する

 
Powershell の ps コマンドと schedule コマンドを利用してハンドルリークを
検出する方法の紹介。
 
プロセスは何でも良いのですが、schdule コマンド自身のリークを
チェックしてみます。ハンドル数が44未満の時は緑色、ハンドル数が
44以上の時、赤色表示させます。
 
schedule --process powershell --args "/c ps | where { $_.name -eq 'schedule' }" --uniq-last --option trim --option item-hint-space --if "$1<44" --exec "color green" --if "$1>=44" --exec "color red"
 
powershell_handle_monitor
 
if で参照している変数は、左から
 
・$1 が Handles : プロセスがオープンしたハンドル数。
・$2 が NPM(K) : プロセスが使用している非ページ メモリのサイズ
・$3 が PM(K): プロセスが使用しているページ可能なメモリのサイズ
・$4 が WS(K): プロセスのワーキング セットのサイズ
・$5 が VM(M): プロセスが使用している仮想メモリのサイズ
・$6 が CPU(s): プロセスがすべてのプロセッサで使用したプロセッサ時間
・$7 が ID: プロセスのプロセス ID (PID)
・$8 が ProcessName: プロセス名
 
となっています。変数では小数点の比較は出来ませんが、文字列の不一致比較、
整数の比較により各イベントを実行できるので、仮想メモリが一定数を超えたら
--exec "process mail.exe" などで、メール送信などを行うことも可能です。
 
--exec "run sound.mp3" とするとサウンドも鳴らせますが、個人的には
使い道あるのかは疑問かも。
 
以上、schedule コマンドの一つの使いでした。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。