web-dev-qa-db-ja.com

メモリ内のキャッシュが常にいっぱいになるのはなぜですか?

6GB RAM、Ubuntu 11.10を実行するi5 2.4GHZプロセッサーを搭載しています。 HDをパーティション分割して、8GBのスワップを確保しました。

オンラインでストリーミングしたり、Chromiumでいくつかのタブを開いたりすると、すぐに4GBのメモリがキャッシュにあります。そして、これは私のノートブックを遅くすると思います。ビデオをストリーミングするとき、数分後には本当に遅くなり、つまずく/ぎくしゃくします。

問題は何でしょうか?どうすれば解決できますか?

追伸:最初は4 GBでしたが、最近6 GBにアップグレードしましたが、大きな変化はありませんでした。

P.P.S:ターミナルのfree -gはこれを出力します:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8
13
Tobias

データのキャッシュはRAM is 想定遅くなく遅くするためです。未使用のメモリがあるときにディスクから繰り返しフェッチするのはばかげています。ただし、スワップ領域にこぼれている場合は、willパフォーマンスにヒットします。 System Monitorを実行すると、スワップを使用しているかどうかを簡単に確認できます。問題の開始時にスワップ空間グラフが上昇していない場合、問題はメモリに関連していません。

確かに、ビデオをストリーミングするとメモリにキャッシュされますが、6Gbを埋めるにはかなりのビデオが必要です!大量のデータをダウンロードするのに数分以上かかり、問題を引き起こすにはもっと時間がかかると思います!

他に問題はないのですか?おそらく、冷却ですか?多くのノートブックには、冷却システムと比較して過剰なプロセッサが搭載されています。これは良いです-バルクを抑えながら、バースト性の高いトラフィックに適した高いピークパフォーマンスを提供します-しかし、クロックレートのダイヤルバックまたはメルトを強制される前にパフォーマンスを維持することはできません。ビデオはかなりプロセッサを集中的に使用する可能性があるため、あなたは知らないでしょうか?

とにかく、スワッピングかどうかをメモリ使用量から確認できるはずです。もしそうなら、それはソフトウェアの問題であり、それらは修正することができます。 :)

13
ams

私は同じ問題を抱えていますが、キャッシュは決してリリースされないようです... 1つの例は、リポジトリをチェックアウトして4GBのキャッシュになったときです

例:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7425        523          0        112       4433
-/+ buffers/cache:       2879       5069
Swap:         7627          2       7625

私がしたことは、以下のコードを実行することでした(コメントは、あなたが何が起こっているかを知っているように)、必要なときに実行できるようにスクリプトを作成することができます:

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
Sudo sync && Sudo sysctl -w vm.drop_caches=3

上記のコードを実行した後:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625
11
Carlo

私の提案は、任意のプロセスエクスプローラー(たとえば、システムモニター)を実行し、プロセスが大量のメモリを消費しているものを確認することです。ここに投稿すると、オフにできるかどうかがわかります。

追伸わかりました、すぐにわかります。メモリを使用する方法が原因で時間とともに成長する「プラグインコンテナ」に違いない。 Gill Batesシステムからのポートであるためだと思います;)。それを殺しても助けにはなりません(殺すと、各ページのすべてのアニメーション、主に広告だけでなくYoutubeビデオもクラッシュします)。また、Chromium自体は時間とともに膨張するのが好きなので、それに対処する唯一の方法は、たぶん時々それを再起動することでしょう。それが役立つかどうかを確認してください...

0
Adam Kroczyk