Skip to content

ワーカーロールでメモリリーク

2012年8月22日

ワーカーロールの調子が定期的におかしくなるなぁ、、、と前々から気には留めていました。

インスタンスの状態が「Role has reported itself unhealthy.」になるんです。

こうなると、リモートデスクトップ接続できなくなります。(もちろんその他にも色々と影響が・・・)

幸いにもクリティカルな部分ではなかったので、都度リセットする運用で回避していましたが、さすがにそのままにしておくのもよろしくないので、FGCP/A5サポートに相談してみました。

余談ですが、マイクロソフトと富士通FGCP/A5の両方のサポートを使った一個人の感想として、後者の方が顧客側に一歩踏み込んだ対応をしてくれる気がします。FGCP/A5はAzure使用料の他にサポートサービス料(Azure使用量の15%!)が別途必須なので、それは当然・・・なのかもしれませんが。

そして、各種パフォーマンスカウンタをストレージに採ってみると、、、

“\Process(WaWorkerHost)\Private Bytes” と”\Process(WaWorkerHost)\Thread Count”がグングン伸びているではありませんか!

メモリリークしてます・・・。

リーク個所の特定をしたいところですが、果たしてつきとめられるか?つきとめられたとしてもいったいどれだけ時間がかかるか?全く想定できません。

こういう時は消極的ですが効果的な対応、「再起動」!

その作業を自動化したくPowerShellを検討しましたが、RoleEnvironment.RequestRecycle() でも解消できたので、後者を定期的にワーカーロールで実行するようにしました。

現在経過観察中です。

 

広告

From → .NET, Azure

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。