バフ/キャッシュと利用可能なメモリのメトリックについて混乱している

バフ/キャッシュと利用可能なメモリのメトリックについて混乱している

Linux のコマンドによって提供されるメモリ メトリックについて完全に混乱していますfree。現在、次のメトリックを受け取ります。

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       624Mi       759Mi       8.0Mi       603Mi       1.2Gi
  1. 759Mi の空きメモリが表示されており、これは比較的大きい値です。これは未使用のメモリと定義され、使用可能なメモリはスワップなしで新しいアプリを起動するために使用できるメモリと定義されます。使用可能なメモリは空きメモリよりどのくらい大きいのでしょうか? また、未使用のメモリは使用可能なメモリの一部ですか?
  2. バッファ/キャッシュは 603Mi です。私の理解では、これは使用可能メモリにもカウントされます。しかし、どのようにでしょうか? 1.2Gi のメモリ (使用可能メモリ全体) を必要とするアプリを起動するとします。その場合、現在バッファ/キャッシュにあるデータはどうなるのでしょうか? RAM から消去されるのでしょうか? この場合、システムはメモリが残っていないのに、どのようにしてバッファリングとキャッシュを継続するのでしょうか?

答え1

翻訳元は、そのような場合に最適な読み物です。しかし、基本的には、利用可能な RAM が遅延なく解放されるというのは正しいです。しかし、あなたが指摘したように、バッファリングとキャッシュが懸念されます。これは、サーバーのパフォーマンスに悪影響を与える場合とそうでない場合があります。

これまでのところ、これを自分でベンチマークする以外に、このような RAM 要件を正確に容量計画する方法を個人的には理解していません。

関連情報