Windows Server のメモリリーク発生原因と考えられる要素をまとめてみた。
Windows Update が当たっていない
最新のパッチが当たっていないとWindowsのバグによりメモリリークが発生する可能性がある。
WSUSが導入されている場合は自動アップデート等が可能だがローカル環境だとついついアップデートを見逃しがち。
ローカル環境でのアップデート方法は右記が詳しい。 http://dolls.orz.hm/?p=6166
アプリケーション・コードのバグ
導入しているアプリケーションによってはメモリリークのバグを含んでいることがある。
例えば下記のアプリケーションでメモリリークのバグが報告されている。
- Zabbix Agent http://www.zabbix.jp/node/3000
- ウィルスバスター http://esupport.trendmicro.com/solution/ja-jp/1312161.aspx
仮想環境特有の動作
メモリバルーニング(VMWare Esxi, Hyper-Vなどで実装されている)
メモリリークとは直接関係はないがメモリ使用率の急激な変化などの原因となりえる http://www.climb.co.jp/blog_vmware/vmware-6057
メモリリーク調査方法
公式サイトにメモリ使用率の見方が掲載されていた、1回読んだだけでは実感がわかないので実機で見るなどして、確認したい。
Windows アプリケーションにおけるメモリ リークの防止 https://msdn.microsoft.com/ja-jp/library/dd744766(v=vs.85).aspx
Microsoft RAMMap などのツールを用いることでメモリ状況を調べられるとのこと。
Windows Server 2008 R2のメモリで質問 http://q.hatena.ne.jp/1398208193
Rammapツールでメモリの詳細な利用状況を調査する http://www.atmarkit.co.jp/fwin2k/win2ktips/1358rammap/rammap.html