web-dev-qa-db-ja.com

使用するメモリが多すぎます

私はしばらくの間このように感じていました。タスクマネージャーがどれだけの物理メモリを使用すべきかを頭の中で考え、大きな格差に気づきました。私はついにそれを測定することに取り掛かりました。タスクリストの結果を取得して追加すると、約3.87GBが得られました。タスクマネージャーから、4.6GBのメモリを使用していると言われました。これは大きな格差のようです。どこに行ったの?

編集:それは明らかです、それはプリフェッチするつもりはありません。また、OSの一部であるが、システムプロセスの一部ではないことも示唆されています。これが当てはまる場合は、OSにどのくらいのメモリが使用されているかを教えてもらう方法を見つけてください。記憶がどこに行ったのか知りたいので、違いを見てもらっても何の役にも立ちません。

編集2:それは次ではありません:

  1. カーネル
  2. キャッシュ
  3. ハードウェア予約メモリ

取り上げられたリソースの写真。それが何をするのかよくわかりませんが... enter image description here

13
soandos

MicrosoftのSysinternals Suite をダウンロードすることをお勧めします。タスクマネージャよりも多くの情報を提供するいくつかのユーティリティが含まれています。 Process Explorer、RAMMap、VMMap、およびProcessMonitorユーティリティを見てください。それらから最大限の情報を取得するには、表示される情報を変更するための構成が必要になる場合があります。

また、Windowsメモリに興味があるので、ここに Mark Russinovichからの一連のブログ投稿 、Sysinternalsの開発者/創設者の1人がいます。ユーティリティが提供する情報を理解するのに役立ちます。

5
Joe Internet

Windows 7は、「未使用」のメモリを使用して物事をプリキャッシュし、物事をより高速に実行します。このメモリが必要な場合は、解放されます。

その機能であり、バグではありません;)

から technet

Windows Vistaシステムをしばらく使用した後、タスクマネージャーの[パフォーマンス]ページに[物理メモリの空き容量]カウンターの数値が低く表示されます。これは、SuperFetchと標準のWindowsキャッシュが、使用可能なすべての物理メモリを使用してディスクデータをキャッシュするためです。たとえば、最初に起動したときにタスクマネージャをすぐに実行すると、キャッシュメモリの数が増えるにつれて空きメモリの値が減少することに気付くはずです。または、メモリを大量に消費するプログラムを実行して終了した場合(大量のメモリを割り当ててからメモリを解放するフリーウェアの「RAMオプティマイザ」のいずれかが機能します)、または非常に大きなファイルをコピーした場合、空き番号はシステムが割り当て解除されたメモリを再利用すると、物理メモリ使用量グラフが上昇し、低下します。ただし、時間の経過とともに、SuperFetchはメモリから強制的に排出されたデータをキャッシュに再入力するため、キャッシュ数は増加し、フリー数は減少します。

8
Journeyman Geek

表示される数値は完全に不正確であり、目安としてのみ使用してください。

オペレーティングシステムは非常に複雑なエンティティであり、タスクマネージャーのような単純なプログラムでは、使用量全体を合計することはできません。オペレーティングシステムの多くの部分は、実行中のユーザーモードではアクセスできません。アクセスできない、または「タスク」に帰することが単に不可能な要素には、ハードウェアセグメンテーションテーブル、共有メモリ割り当て、カーネル割り当てメモリ、ページメモリ割り当て、デバイスメモリなどがあります。

タスクマネージャーの[パフォーマンス]タブをどのように解釈しますか? に詳細な説明がありますが、この部分を引用することにしました。

とにかく自分自身を「タスクマネージャー」と呼ぶプログラムに何を期待しますか?オペレーティングシステムのカーネルには「タスク」と呼ばれるものはありません。OSには「プロセス」と「スレッド」があります。 DOSには「タスク」がありました。 Intelハードウェアには「タスク」構造がありますが、OSはそれ自体を実行する方が高速であるため、それらを使用しません。

タスクマネージャーは非常に古いWindowsプログラムであり、機能をサービスに帰属させることさえ問題があり、それが示す数字は、ほんの少しの塩でとらえるべきです。おそらく、カウントしたり「タスク」に帰したりすることができないメモリの大きな領域が欠落している可能性があります。

5
harrymc

お気づきかもしれませんが、タスクマネージャーは、ほとんどのアプリケーションがシステムにどのように影響しているかの簡単なスナップショットを提供できますが、多くのことが望まれます。 RAMなどのキャッシュを本当に掘り下げたい場合は、パフォーマンスモニターに入る必要があります。システムを監視するためのシステムカウンターのセットを構築するには、いくつかの作業が必要です。

Compmgmt.mscを実行するか、Windows Searchで「コンピューター管理」を検索すると、そこにたどり着くことができます。左側に、展開して掘り下げることができるパフォーマンスツリーが表示されます。

利用可能なツールのいくつかのリファレンスは次のとおりです。 http://technet.Microsoft.com/en-us/library/cc749249.aspx

3
Dustin G.

メモリはおそらくカーネルに使用されています。 Process Explorer を使用すると、システムメモリのより詳細な内訳を確認できます。

Kernel Memory Information

ここでは、カーネルが使用しているメモリの量を強調しました。これは、ページングWS +非ページング、つまり約300MBのメモリです。これは、Webブラウザーと他のいくつかのアプリケーションを開いた状態で新しく起動したシステム上にありますが、負荷が高いと、ホームシステムが500MBまたは700MBのカーネルメモリを簡単に破壊します。

3
Darth Android

@soandos、ビデオがどれだけのメモリを引き出しているかを考慮しましたか?ビデオが.73GBのRAMをプルしている可能性が非常に高いです。このマシンにはまともなビデオカードがありますか?そうでない場合は、このようにRAMを使用します(私が知っている限り)。私が間違っている場合は、誰かがここでチャイムを鳴らしてください。しかし、これはビデオプルの影響である可能性があります。 RAMから。

2
David

私が見ている違いは、ツールが使用済みメモリを認識できないためではなく、さまざまな測定形式が原因であると思います。これをうまく説明することはできませんが、幸いなことに説明する必要はありません。 Mark Russinovich of Sysinternals 名声は、Windowsでのプロセスパフォーマンスに関する非常に優れた一連の投稿を書いています。 物理メモリ仮想メモリ に関する部分は、あなたが見ているものを説明するはずです。

1
Paxxi

解決したと思います!

RAMMapに関するヒントに出くわしたところ、µTorrentであることがわかりました。

uTorrent.exe自体ではなく、µTorrentによって共有されるファイル–少なくとも私の場合:ファイルの1つは600 MB以上を使用し、別のファイルは200MB以上を使用していました。

0
user184804