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


13

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

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

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

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

PPS:free -gターミナルでこれを印刷します:

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

「RAMキャッシュ」とはどういう意味ですか、それがいっぱいになったことをどのように伝えますか?
セルゲイ

free -g問題が発生し、質問にコマンドの出力を含めるときに(ターミナルで)実行してください。
Portablejim

上のパネルには、RAMとCPUの使用率をグラフィカルに示すアプレットがあります。クリックすると、「Mem:2GB Cache 4GB」
トバイアス

1
free -g3GBの空きRAMがあると言います。メモリはあなたの問題ではありません
AMS

それをクリアしてくれてありがとう。しかし、おそらくその瞬間にオンラインでストリーミングしていなかったからでしょうか?クロムを実行していました。
トビアス

回答:


13

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

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

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

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


SWAPのわずか1.8%を使用しています。2つのファンを備えた冷却パッドがあるため、冷却は問題になりません。ビデオはプロセッサを集中的に使用しますが、i5クアッドコア2,4GHおよび6GB RAMがスムーズストリーミングに十分なはずです。
トビアス

スワップの1.8%は、あなたの問題はRAMを使い果たしたことではないと私に示唆しています。私は同意します、あなたのプロセッサが絞られていなければ、それは仕事をすることができるはずです。
AMS

おそらくブラウザ自体よりもいいですか?
トビアス

回答ありがとうございます。別のブラウザを使用して、問題が解決しない場合はお知らせします。再びありがとう、あなたはとても親切で親切でした、本当に感謝しています!
トビアス

11

私は同じ問題を抱えていますが、キャッシュは決してリリースされないようです... 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

4
これは問題ではなく、これがページキャッシュの仕組みです。可能な限りキャッシュに保存しますが、他のアプリケーションからのメモリのプレッシャーが増加すると、アイテムを自動的に解放します。手動でクリアする必要はありません。
セシウム

5
そうかもしれませんが、その場合、アルゴリズムはそれほど良くありません。なぜ4GBを超えるキャッシュを持ち、スワップを使用し始めるのですか?
カルロ

件名については、この記事が好きです:リンク
カルロ

1
私の現在のケースでは、私は巨大なリポジトリをチェックアウトすることだし、それがメモリをいっぱいにするまで、すべてのファイルがキャッシュされ得ている、かつてそこには...代わりにリリースキャッシュのスワップに始まり
モンテカルロ

以前はカーネルの開発に興味を持っていました。これはまだ「設計による」ものです。カーネルは、ファイルの一部が匿名データよりもすぐに再びアクセスされる可能性が高いと判断した場合、anonデータをスワップし、ページキャッシュを保持します。もちろん、正しい決定を下すかどうかは別の質問です:)
スティーブディー14

0

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

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


実際、ブラウザを再起動すると、ストリーミングは再びスムーズに実行されますが、わずか10分間です。次に、ブラウザを再起動する必要があります。
トビアス

使用されるプロセス:クロム250メガバイトクロム214メガバイトクロム150MB、Compizの119メガバイト、ツァイトガイスト・デーモン111メガバイト、クロム70MB、EXE 24%CPUと60メガバイト、50メガバイトのRhythmboxの、ubuntuone-syndaemon 26メガバイトなど。
トビアス

ブラウザの問題が原因である可能性があります。Firefoxまたは任意の選択肢に切り替えることを検討してください。Web上のユーザーの意見では、Chromiumは他の「トップライン」ブラウザよりも約3倍のメモリを消費します。試してみる。...タブの同じ番号を開き、比較し、インストールします
アダムKroczyk

私はそれをdpします。提案をありがとう。すべてのベスト
トバイアス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.