- タスクマネージャーだけではメモリを大量に消費しているプロセスがわからない時は、「RAMMap」というツールがあります。
- これはMicrosoftが提供しているメモリ分析ツールで、ダウンロードすればインストールなしで利用できます。
- 例えば、ある事例では、RAMMapを使ったところ、タスクマネージャーでは見えなかった大量の「ゾンビプロセス」が見つかったそうです。
Microsoftには、いろんなツールがあるよね。
メモリが消費されている原因がわからないときは、試してみよう。
1. RAMMapで物理メモリ使用量を分析する
Windowsのメモリ消費問題を調査する際、タスクマネージャーだけでは不十分な場合があります。
そんなときに使えるのが、「RAMMap」というツールです。
Windows用のメモリ分析ユーティリティで、プロセスや実行ファイルごとにメモリ消費量がわかります。
不審なプロセスが見つけて、強制終了したり、アンインストールしたりします。
2. RAMMapをダウンロードする
「RAMMap」は、Microsoftのシステムツールセット「Sysinternals」の一部として提供されています。
インストールは不要で圧縮フォルダーを展開するだけ。
ただし、起動には「管理者権限」が必要です。
利用規約に同意すると、メイン画面が表示されます。
3. 「見えないゾンビプロセス」を見つかった事例
たとえば、以下の事例では メモリ 20GBほど消費されているのに、タスクマネージャーやプロセスエクスプローラーでは表示されなかったそうです。
なんかちょっと前からWindowsのCPU負荷がずっと高くて、コンスタントに一日当たりメモリを20GBほど食いつぶす症状が発生してて、最終的には全部食ってスラッシングになって、タスクマネージャーから見てもメモリを以上に食っているプロセスは見つからず、どうしたらいいのか大変困っていたんですが、
プロセスエクスプローラーをAdminで動かしても見つからず、いろいろ調べてMSがSysinternalsってので公開してるRAMMapっていうツール使ってみたら、wsl.exeが死ぬほどゾンビになってるのが発覚した。それと同時にpodman.exeも大量にゾンビになってた。
Hideyuki Tanakaさん: 「なんかちょっと前からWindowsのCPU負荷がずっと高くて、」 / X
しかし、RAMMapで、タスクマネージャーでは見えない「ゾンビプロセス」を発見することができました。
「ゾンビプロセス」とは、親プロセスが子プロセスの終了状態を取得せず、プロセスが終了したのに放置されている状態のことです。
この事例では、PodmanがWSLプロセスを大量にゾンビ化させていたそうです。
PodmanはRed Hatが開発したオープンソースのコンテナ管理ツールで、Dockerの代替として使用されます。
wsl.exeは、Windows Subsystem for Linux(WSL)の主要な実行ファイルです。
WSLは、WindowsでLinuxバイナリ実行ファイルをネイティブに実行できるようにするための互換性レイヤーです。
RAMMapを使用すると、メモリリークやゾンビプロセスなどのメモリ関連の問題をより深く分析し、原因を特定することができます。