freeコマンド、bufferとcacheの違い


free freeコマンドはtopよりもシステムメモリの使用状況をより簡潔に表示します.
# free
             total       used       free     shared    buffers     cached
Mem:        255988     231704      24284          0       6432     139292
-/+ buffers/cache:      85980     170008
Swap:       746980          0     746980

Mem:物理メモリ統計-/+buffers/cached:物理メモリのキャッシュ統計Swap:ハードディスク上のスワップパーティションの使用状況を示します.ここでは気にしません.システムの合計物理メモリ:255988 Kb(256 M)ですが、システムが現在本当に使用可能なメモリは、最初の行freeタグの24284 Kbではありません.割り当てられていないメモリのみを表します.上記の統計データの各値をtotal 1、used 1、free 1、used 2、free 2などの名前で表し、1、2はそれぞれ1行目と2行目のデータを表します.total 1:物理メモリの総量を表します.used 1:buffersとcacheを含む合計キャッシュに割り当てられた使用数を示しますが、一部のキャッシュが実際に使用されていない可能性があります.free 1:割り当てられていないメモリ.shared 1:メモリを共有し、一般的なシステムでは使用されません.ここでも議論しません.buffers 1:システムが割り当てられているが使用されていないbuffersの数.Cached 1:システムが割り当てられているが使用されていないcacheの数.bufferとcacheの違いは後述する.used 2:実際に使用されるbuffersとcacheの総量であり、実際に使用されるメモリの総量でもある.free 2:使用されていないbuffersとcacheと割り当てられていないメモリの和.これがシステムが現在実際に使用可能なメモリです.
total 1=used 1+free 1という式にまとめることができます.
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
bufferとcacheの違いA buffer is something that has yet to be“written”to disk.A cache is something that has been "read"from the disk and stored for later use.
 
どちらもRAMのデータです.簡単に言えば、bufferはディスクに書き込まれ、cacheはディスクから読み出されます.bufferは、入力キューなどの様々なプロセスによって割り当てられ、あるプロセスが複数のフィールドの読み込みを要求するなどの簡単な例であり、すべてのフィールドが完全に読み込まれる前に、プロセスは以前に読み込まれたフィールドをbufferに保存する.Cacheは、ディスクのI/Oリクエストによく使用され、複数のプロセスがファイルにアクセスする場合、次回のアクセスを容易にするためにcacheとして作成され、システムのパフォーマンスを提供します.