web-dev-qa-db-ja.com

バッファ\キャッシュを減らす方法

監視システムは、私のマシンが到達していることを警告し続けますRAM 15 GBsの使用率のしきい値)。

私はいくつか読んで、見かけのRAM使用率は実際のものではなく、追加のRAMは、ディスクのI\O操作のキャッシュ\バッファリングに使用されます。サーバーのパフォーマンスを向上させるために、私はそのサーバー上でMySQLを実行しています。

  • では、どのようにしてディスクI\Oキャッシング\バッファリングを減らすことができますかRAMしきい値を突破しないように?これはMySQLではなくLinuxの問題でしょうか?

これがfree -gtの出力です

[root@ipk ~]# free -gt
             total       used       free     shared    buffers     cached
Mem:            15         15          0          0          0          9
-/+ buffers/cache:          5         10
Swap:            5          0          5
Total:          21         15          6

Linuxのバージョンは次のとおりです。

[root@ipk ~]# uname -rmo
2.6.32-220.el6.x86_64 x86_64 GNU/Linux
5

あなたが私たちの意見も私たちが「公式」としてリンクしているさまざまなページも受け入れていないようなので、おそらく公式のRed Hat documentation があなたを説得します:

この例では、使用可能なメモリの総容量は4040360 KBです。 264224 KBはプロセスで使用され、3776136 KBは他のアプリケーションでは無料です。 28160KBが空いていることを示す最初の行で混乱しないでください!使用量の数値を見ると、ほとんどのメモリ使用量がバッファとキャッシュ用。 Linuxは常にRAMを使用して、バッファ(ファイルシステムメタデータ)とキャッシュ(ファイルの実際のコンテンツを含むページ)に使用可能なメモリを使用してディスク操作を高速化しますディスク情報がすでにメモリ内にあり、I/O操作を節約するため、システムの高速実行に役立ちます。プログラムまたはOracleなどのアプリケーションの場合、Linuxはバッファとキャッシュを解放して、アプリケーション用のメモリを生成します。システムがしばらく稼働している場合は、通常、「空き」フィールドの下に小さな数字が表示されます。最初の行。

13
terdon

これはすべて順調ですが、メモリを要求する必要があり、ディスクキャッシュが解放する必要があるものにマッピングするまでの遅延時間はどうですか?確かに、あなたはそれが最小限であるか、または目立たないとさえ言うかもしれませんが、おそらく私はこのプロセスのために追加された0.0000001秒を気にします。私のRAMがどのように使用されるかを決めるのは誰ですか?

このラグタイムを体験したくない場合はどうなりますか?ドライブからのアプリケーションの読み込みが遅くても問題ないかもしれませんが、ディスクキャッシュからメモリのマッピングを解除するためのラグタイムなしですぐにRAMを占有する必要があります。

RAM私のディスクキャッシュが使用している量を制限するにはどうすればよいですか?これが方法なしで実装されたことを知らせないでください。

[〜#〜] update [〜#〜]:それを行う方法が見つかりました。

echo 3 | Sudo tee /proc/sys/vm/drop_caches

A:free -m上記を実行した後、確認します。できます。

6
nikitis