Windows 7や 8 のタスクマネージャーに騙されるな!

なんか、よく、Windows 7や 8になって、XPなどより、アプリケーションの消費メモリが減った!すごい
とかいう意見を散見するのですが、本当にそうなのでしょうか・ω・

iTunes 11 - 脳脂肪のパクリメモ

というわけで、ちょっと真相を知るために調べてみましたよ。


tsk
さて、これが既定のタスクマネージャーの表示でユーザータブを開いてもメモリ150M程度しか使っていないように見えます。

tsk2
ところが、リストビューのカラムを右クリックして列の選択をして…
メモリのところがプライベート ワーキングセットにチェックが入ってることが分かります。

メモリ管理と重要なメモリ測定値について理解する
実は、Windows NT 6.x では メモリ管理がプロセス固有だったワーキングセットの概念から、プライベートと共有のワーキングセットと分けて考えるようになっています。

タスクマネージャーでは 共有ワーキングセットを表示しませんが、実際プロセスで使ってる合計メモリは、ワーキングセット (メモリ)の方で、 共有とプライベートの合算になっています。

tsk3
というわけで、これが本当の利用メモリです・ω・
EXPLORERが200Mとかいうレベル。これが 真相です。
Microsoftによるとワーキングセットのうち共有部分は他のアプリでも使うため、左の数字を全部足しても、そうメモリ使用量より大きくなる・・・みたいに書いてますが実際どうなのでしょう?

というわけで、パフォーマンスタブからリソースモニタを開いてみましょう
tsk4
プライベートワーキングセットの合計が400M位、共有ワーキングセットの合計が800M位なんですが…ほとんど共有されている部分は無く、実際にアプリケーションが単独で使用しているメモリと考えてよさそうです。

コミットは仮想メモリの使用量なので考えません・ω・
task7
こっちは Windows 2000のタスクマネージャー

@echo 2000/XP/2003 Vista/7/8/8.1
メモリ使用量 A+B メモリ使用量 ワーキングセット(メモリ)
メモリ使用量 A 該当なし プライベートワーキングセット
メモリ使用量B 該当なし 共有ワーキングセット
仮想メモリ使用量 仮想メモリ使用量 コミット

図解するとこんな感じ、偽装ですね・ω・ 分かります。

おすすめ

3件のフィードバック

  1. つーざー より:

    メモリ使用量、完全にだまされてました。
    メモリ-ワーキングセットにチェックを入れてみたら・・・
    iexplorer.exeの消費が大きかったです。
    勉強になりました。

  2. 名無し より:

    Windows8.1の方が、7に比べて速いなんていう人がいるんですけど、実際どうなんでしょ?
    7でもUIをClassicにしたら、少し早くなったようにも思えるんですが、余計な機能が増えすぎて、それらを削るだけでも変わるもんだと私は思うんですが・・・。

  3. ななし より:

    Windows 8/8.1にはmemory combiningがある

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です