Linuxで「効果的に使用される」メモリとは何ですか? 「使用済み」または(「すべて」 - 「使用可能」)?

Linuxで「効果的に使用される」メモリとは何ですか? 「使用済み」または(「すべて」 - 「使用可能」)?

オペレーターが使用するメモリーと Linux サーバーで使用可能なメモリーを GUI に表示する必要があります。

それでは、使用法として表示する論理的に正しい値は何ですか?

[root@host ~]# free
              total        used        free      shared  buff/cache   available
Mem:      131753676   110324960     1433296     4182648    19995420    16240640
Swap:       2097148      652076     1445072

usedまたは(total- available)?

違いは次のとおりです。 110324960 対 115513036 または 5188076kb ~= ~5GB では、この 5GB は何ですか?効果的に使用されますか、使用可能ですか、それとも使用できません、使用されませんか?メモリ使用率%でどのような表示が正確ですか?

これは、2つのJavaサービスを実行するCentOS 7.3 PC用です。

しかし、PostgreSQLサーバーにはまったく異なる画像があります。

[root@postgres_server1 ~]# free
              total        used        free      shared  buff/cache   available
Mem:      131753684     7364056    77736740    15598120    46652888   107942020
Swap:       2097148           0     2097148

usedどこと( - )totalの違いはavailableはるかに大きいですか:16447608 kb〜= 15.7 GB

ベストアンサー1

使用量が何を反映すべきかによって異なります。 Inの出力free

  • 「使用済み」は「フル - 空きスペース - バッファ - キャッシュ」として計算されるため、キャッシュを除いて現在有用なデータを格納しているメモリ量を反映します。
  • 「使用可能」は、他の目的ですぐに使用できる物理メモリーの量でなければなりません。

「すべて使用可能」とは、「現在使用中であり、交換できないすべての物理メモリ」を意味します。それと「使用済み」(あなたが言及した5GBと15GB)の違いは、まだ他の場所では利用できないデータを現在保存している物理メモリの量です。つまりダーティバッファ(したがってPostgreSQLはディスクへの書き込みを待つより多くのデータを持つことになります)「使用可能」は、プログラムが占有されずに要求できる物理メモリの最大量を反映します。強制スワップ(何も保証されませんが、プログラムがそれほど多くのメモリを使用している場合は、当時のシステムの残りの動作を考慮しても、とにかくスワップされません)。

したがって、両方の値は使用されたメモリを反映しますが、定義はわずかに異なります。どちらを使用するかはあなた(またはあなたの要件)によって異なります。 「使用可能」は「使用可能」より正確であるため、1つだけアーカイブしたい場合は、より便利な値になる可能性があります。

それについて考えるもう一つの方法は、価値観が答える質問を検討することです。

  • 「中古」は、128GiB RAMが現在のワークロードに役立つかどうかを示します。
  • 「使用可能」は、残りの容量を示します。
  • 「フル - 使用可能」は、実際に必要な物理RAMの量を示します(つまりキャッシュによるパフォーマンスの向上を見逃したい場合は、次のサーバーまたはVMをどれだけ小さくすることができますか?

完全な妥協はないので、free両方の値が表示されます。

Linux メモリ管理システムでは、メモリをすぐに使用できます。そしてディストリビューションで移植可能な使用可能なメモリ量を取得するには?「利用可能」が正確に何を意味するかについての詳細を提供してください。 「バフ/キャッシュ」には、回収できないメモリが含まれており(ディスクに書き込まれていないため)、回収できますが、「バフ/キャッシュ」に含まれない他のメモリプールがあるため、「バフ/キャッシュ」と同じではありません。 。

おすすめ記事