free -m
の出力は次のとおりです。
total used free shared buffers cached
Mem: 595 482 112 0 63 324
-/+ buffers/cache: 93 501
swap: 0 0 0
使用されたメモリの正しい値は、482または93ですか?
112 MBの完全に空きメモリがありますが、表示される501 MBには「キャッシュ」メモリがありません。これは、OSがメモリにいくつかのものを入れて高速化することを意味します。これは「使用済み」と呼ばれます(したがって、「無料」番号は112のみです)が、必要な場合は実際に使用できます。
未使用のメモリは無駄なメモリなので、これは良いことです。必要に応じて、キャッシュされたメモリをクリアできます。 Windows 95で使用していた古い「メモリのクリーンアップが必要」なものはここでは必要ありません。
探している番号は501無料です(-m
のためにメガバイト単位)。
これらのページを参照してください:
http://www.linuxatemyram.com/
http://www.itworld.com/it-managementstrategy/280695/making-sense-memory-usage-linux
free
の出力の解釈:free
出力の最初の行は次のとおりです。
total
合計物理(仮想化なしと想定)メモリused
現在どれだけ使用されているか(何でも)free
どれだけ完全に無料か(まったく使用されていない)shared
(そこに何もない、その列を無視する)buffers
カーネルバッファーが使用するメモリcached
キャッシュに使用されるメモリキャッシュとバッファの最後の2つの項目は、特定のユーザープロセスに割り当てられないメモリです。全体的なパフォーマンスを向上させるためにカーネルによって予約されたメモリですが、「アプリケーション」メモリではありません。これらの領域は、キャッシング、メモリ負荷、アプリケーションI/Oパターンなどに関するカーネルポリシーに応じて拡大または縮小します。
これらの2つの列はユーザーに割り当てられたメモリではなく、ユーザーの割り当てに必要な場合、ゾーンは(実質的に0に)縮小できるため、「空き」という意味です-解放できるRAMアプリが積極的にそれを必要とする場合、カーネルによって。
これが2行目からわかります。 used
列からバッファーとキャッシュメモリを削除し(-
の意味)、free
列に追加(+
)します。 (ラウンドの問題が発生します。)
(最後の行は、スワップ空間の状態を示しています。)
礼儀:https://unix.stackexchange.com/a/33549/14497
したがって、あなたの場合112MBは完全に空きメモリであり、キャッシュに使用されるメモリを考慮に入れると、ユーザーアプリケーションに割り当てることができます、 必要に応じて;次に、501 MBは、使用可能な実際の最大メモリです。
@ saji89による答えは優れていますが、最近free -m
は-/+ buffers/cache
行を出力しなくなり、代わりに利用可能なRAMの量を新しいavailable
列に入れます最初の行に、たとえば:
ubuntu@pg_master:~$ free -m
total used free shared buff/cache available
Mem: 61406 1571 506 17131 59328 42150
Swap: 0 0 0
ubuntu@pg_master:~$ free -V
free from procps-ng 3.3.10
repo の行を削除したfree(1)へのコミットを読むことができます。また、 新しいavailable
列を追加するコミット 。
free
コマンドは、未使用および使用済みのメモリとスワップ領域に関する情報を表示します。
以下は http://www.linfo.org/free.html によって提供される説明です。
Memとラベル付けされた最初の行は、バッファおよびキャッシュに割り当てられたメモリ量を含む物理メモリの使用率を表示します。バッファは、バッファメモリとも呼ばれ、通常、HDD、キーボード、プリンタ、ネットワークなどの外部デバイスとの間で送受信されるデータの一時的な保持場所として確保されるメモリの一部として定義されます。
-/ + buffers/cacheで始まるデータの2行目は、現在システムバッファキャッシュに割り当てられている物理メモリの量を示しています。これは、read()およびwrite()システムコール1を使用して実行されるシステム上のファイルからアクセスされるすべてのデータがこのキャッシュを通過するため、アプリケーションプログラムに関して特に意味があります。このキャッシュは、HDDまたは他のディスクからの読み取りまたは書き込みの必要性を削減または排除することにより、データへのアクセスを大幅に高速化できます。
Swapで始まる3番目の行には、合計スワップスペースと、現在使用されている量と使用可能な量が表示されます。
システムのメモリ使用量を分析できます
結果をメガバイトで表示するために使用されるfree
コマンドと '-m'オプションを使用しました
-m, --mega
Display the amount of memory in megabytes.
合計メモリは595(使用済み+無料)
使用済み:482無料:112
595MBのうち482MBがシステムで使用され、アクティブなプログラムでは93MBのみが使用され、残りの324MBはキャッシュにあります
したがって、将来プログラムを実行するときは、120MBがさらに必要だと言います。 112MB(現在は無料)がすべて提供され、残りの8MBは非アクティブなプログラムバッファ/キャッシュから取得されます。
Edit:これを見つけてください link 、これは良い説明を提供します。