2015.08.24: Windows10で作動する事を確認
2015.08.04: リンク切れを修正

このページの情報は、相互リンクさせて頂いていた「Windows XP/Vista/7の裏技」さん(閉鎖)にて紹介されていたTipsです。
ネタ元はこちら(リンク切れ) http://nagabuchi.jugem.jp/?eid=162

上記ページを要約すると、
  「マイクロソフトが配布している Windows Server 2003 Resource Kit Tools 
  に含まれている「empty.exe」が、メモリ解放にすっごく便利だよ!
  抜き出して単体で利用する方法があるよ! ってお話です。

 

本来は32bit版のWindows XP/Vistaあたりで利用する小技ですが、
64bit版 Windows 7/8/8.1/10などでも十分に効果を発揮します。

Windows10でempty.exeを実行した場合
コマンドプロンプトから起動してみた際のスクリーンショット
▲クリックで拡大
タスクマネージャで効果を確認する場合は、Windows8以降の新しいタスクマネージャの方が分かりやすい結果が出ます、

メモリを贅潤に積んだ64bitPCでは活用の機会は少ないかもしれませんが、ブラウザで大量のFlash動画を視聴する人、巨大ファイルをガシガシと移動・コピーしちゃう方などは、結構効果があります。

インストール作業&実行方法

  1. Windows Server 2003 Resource Kit Toolsをダウンロード。
  2. ダウンロードした「rktools.exe」をそのままインストールせず、
    解凍して必要なファイルのみ抜き出す。
    • .exeファイルでも解凍できるソフトは「WinRAR」「7Zip」「IZArc」など。
    • 「rktools.exeを解凍」→「rktools.msiを解凍」→出てきたファイル内のempty.exeをコピー
      (注: 解凍ソフトによっては、さらに「Cabs.winrk.cabを解凍」してempty.exeを取り出す必要あり)
  3. 抜き出したempty.exeを、C:¥WINDOWS¥system32 にコピー&ペースト。
    (64bit版 Windows 7/8/8.1/10 の場合でも、SysWOW64じゃなくsystem32にペーストする)
  4. 簡単に実行出来るよう、バッチファイルを作成する。
    @echo off
    empty.exe *
      ▲上記テキストをメモ帳に貼り付け、「empty.bat」などテキトーなファイル名にすればOK
  5. あとはバッチファイルをダブルクリックすれば、あっと言う間にメモリ解放してくれます。
    • 管理者権限で実行する必要なし。
    • もちろんコマンドプロンプト(cmd)を起動して「empty.exe *」と入力してもOK

手順の紹介はここまでです。以下、実際にこのバッチを試してみた実例です。

スポンサー リンク

コマンドプロンプトから起動してみた際のスクリーンショット

コマンドプロンプトから起動してみた際のスクリーンショット
▲クリックで拡大
コマンドプロンプトでパスが通っているのは、64bit Windows78/.1/10 などでも「System32」フォルダです。
なのでempty.exeをSysWOW64にコピーしてもパスを通し直さないと作動しません。

検証:どのくらい効果があるか?

まずは普段よく行う操作の中でもわりとメモリを必要とする操作を行い、その後にメモリ解放を行い、OSのモッサリ感を体感で検証。
  • 検証したPC操作
      「ブラウザで大量のページを読み込む」
      「10GB程度の巨大ファイルを移動させる」
      など、私が良く行うもの。
    • PC環境:64bit Windows 7 / メモリ9GB
      空きメモリの計測にはタスクマネージャーを利用)

empty.exe前後でメモリ使用量チェック

IEとFirefox同時起動、巡回ブログを50ページ開いて閉じた直後
メモリ解放テスト2
▲クリックで全体表示します
メモリグラフ 1.52GB → 1.08GB  400MBほど確保。
キャッシュ済み 90MB増加
利用可能      400MB増加
空きメモリ    400MB増加
この程度ではOSが重くなる事はないので、体感上の違いは感じられず。

IEとFirefox同時起動、巡回ブログを200ページ開いて閉じた直後
メモリ解放テスト3
▲クリックで全体表示します
メモリグラフ 2.61GB → 2.41GB  200MBほど確保。
キャッシュ済み 1.6GB増加
利用可能     200MB増加
空きメモリ     30MB増加(変わらない?)
OSがもっさりしてくるまでブラウザでページを開きまくってみた。
メモリ解放後、確かに操作は軽くなり、さらに5~6ページほどタブを開く事ができた。
200MB程度の解放なら、こんなもんか?ブラウザ閉じなくても一時しのぎは出来そうな感じ。
ただ、「キャッシュ済み」メモリ量が1.6GBも増加したのがなんか不気味。

5~10GBの巨大ファイル2個をドライブ間移動させた直後
メモリ解放テスト4
▲クリックで全体表示します
メモリグラフ 1.80GB → 1.55GB  250MBほど確保。
キャッシュ済み   1GB増加
利用可能    250MB増加
空きメモリ    300MB減少
明らかに効果があった。巨大ファイルを複数コピー・移動させると、しばしばOSがもっさりする事があったが、それらは一瞬で解放される。ただ、この操作だけ「空きメモリ」の量が減少したのが謎。

比較用:Glary Utilities前後でメモリ使用量チェック

IEとFirefox同時起動、巡回ブログを50ページ開いて閉じた直後
 (比較用: GlaryUtilitiesのメモリ最適化を実行)
メモリ解放テスト1
▲クリックで全体表示します
メモリグラフ 1.64GB → 1.58GB  60MBほど確保。
キャッシュ済み 120MB増加
利用可能      60MB増加
空きメモリ    300MB増加

「ブラウザで200ページ開く」・「巨大ファイルを移動させる」の2項目は、Glary Utilitiesのメモリ最適化は終了までに2分近くの時間を必要とし、ちょっと実用的じゃなかった。 しっかりメモリを解放してくれているが、個人的に「どうでも良いや感」で一杯になったので比較データの掲載はとりやめ。

検証後のメモ

  • empty.exeは、しっかりメモリ解放できてる。
    巨大ファイル移動後に発生するモッサリ感はキチンと解消される。
  • Glary Utilitiesのメモリ最適化コマンドは、メモリ搭載量が多いと処理に長い時間がかかり、CPU負荷も高い。かたや、empty.exeは一瞬で終了し、CPU負荷は全く無い。
    empty.exeの方が実用的。
  • 「巨大ファイル移動」の時だけは「空きメモリ」の項目で数値が悪くなった。
    グラフ上の使用メモリ量は減っている&その後のOSのレスポンスも明らかに改善されているのに、なんでだろう?

このページの情報は 以上です。