GNU/Linux >> Linux の 問題 >  >> Linux

Linux –実際のメモリ使用量?

私が正しく理解していれば、freeによって生成される次の出力では、3535mがアプリケーションで使用可能な実際の空きメモリであり、413mのみが使用されます。これは正しいですか? Memと-/+buffers /cacherowの違いを明確にする必要があります。

free -m
             total       used       free     shared    buffers     cached
Mem:          3949       3854         95          0          9       3431
-/+ buffers/cache:        413       3535
Swap:         2047       1322        725

承認された回答:

Mem: total 図は、アプリケーションで使用できるRAMの合計量です。これは、システムにインストールされているRAMの合計から、以下を差し引いたものです。

  • ハードウェアデバイスによって予約されたメモリ(グラフィックカードに独自のRAMがない場合はビデオメモリが多い)
  • カーネル自体が使用するメモリ。

その合計には次のものが含まれます:

  • free :現在あらゆる目的で使用されているメモリ;
  • shared :もはや存在しない概念。下位互換性のために出力に残されています(freeからの出力を解析するスクリプトがあります )。 (現在のシステムでは、sharedのため、通常はゼロ以外の値が表示されます 共有メモリメカニズムを介して明示的に共有されているメモリを表示するために再利用されました。古いシステムでは、複数のプロセスによってマップされたファイルと、fork()の後で共有されたままの共有可能なメモリが含まれていました。 。)
  • buffers :ファイルに裏打ちされ、必要に応じてディスクに書き出すことができるメモリ。
  • cache :ファイルに裏打ちされ、いつでも再利用できるメモリ(buffersとの違い) バッファは再利用する前にディスクに保存する必要がありますが、キャッシュはディスクからリロードできるもので構成されています)。
  • used -buffers/cache :アプリケーションによって使用されるメモリ(スワップするためにページアウトされない)

ピンチでは、システムはバッファとキャッシュなしで実行でき、アプリケーション用にRAMを予約し、キャッシュなしでディスクの読み取りと書き込みを体系的に実行できます。 -/+ buffers/cache 数字は、アプリケーションによって直接使用されたRAMの量を示しています(used 列)およびアプリケーションで使用されていないRAMの量(free 列)。

これは大きく異なる可能性がありますが、正常なシステムでは通常、RAMの約半分がアプリケーション専用で、残りの半分がバッファとキャッシュ専用です。専用のファイルサーバーを実行している場合を除き、システムには現在実行している処理に必要なRAMよりも多くのRAMが搭載されています。 free - buffers/cacheの場合 数値が低く、十分なRAMがないシステムを示します(広く信じられていることとは反対に、バッファとキャッシュに多くのメモリを割り当てることはシステムパフォーマンスにとって重要であり、アプリケーション用により多くのメモリを予約しようとすると99.99になりますシステムの%が遅い)。

関連:特定のコマンドをだまして、それが別の日付であると思わせる方法は?

swap 行は単純で、(アプリケーションまたはtmpfsのいずれかで使用されているスワップの量を示しています。 ストレージ)、およびそうでない量。


Linux
  1. Linux –単一のLinuxプロセスのメモリ使用量を制限しますか?

  2. Linux – Linuxのメモリ使用量を正しく判断しますか?

  3. Linuxdfコマンド

  1. Linux での Java からの仮想メモリ使用量、メモリ使用量が多すぎる

  2. Linux/Unix プロセスのピーク時のメモリ使用量

  3. Linuxで単一プロセスのCPU使用率とメモリ使用率を取得しますか?

  1. Linux で R のメモリ使用量を制限する

  2. Linuxでユーザーのメモリ使用量を見つける方法

  3. vmstat でメモリ使用率を取得するには?