22

Linux システムでは、「無料」を使用している場合の値は次のとおりです。

         total      used      free    shared  buff/cache   available
Mem:  26755612    873224    389320    286944    25493068    25311948
Swap:        0         0         0

合計、使用済み、および無料の値は加算されません。合計=使用済み+無料と予想しています。

質問: ここで何が欠けていますか?

4

2 に答える 2

21

used+free+buffers+cacheメインメモリの場合、メモリの実際のサイズはORとして計算できused+free+buffers/cacheますbuffers/cache = buffer+cache

freeハイライトusedのmanページはUsed memory (calculated as total - free - buffers - cache)

free のマニュアルページにあるように:-

total インストールされているメモリの合計 (/proc/meminfo の MemTotal および SwapTotal)

used 使用済みメモリ (合計 - フリー - バッファ - キャッシュとして計算)

free 未使用のメモリ (/proc/meminfo の MemFree と SwapFree)

tmpfs が (ほとんど) 使用する共有メモリ (カーネル 2.6.32 では /proc/meminfo の Shmem、利用できない場合はゼロとして表示)

buffers カーネル バッファによって使用されるメモリ (/proc/meminfo 内のバッファ)

ページキャッシュ とスラブによって使用されるメモリ (/proc/meminfo のキャッシュとスラブ)

buff / cache バッファとキャッシュの合計

available スワッピングなしで新しいアプリケーションを開始するために使用できるメモリ量の見積もり。キャッシュまたはフリー フィールドによって提供されるデータとは異なり、このフィールドはページ キャッシュを考慮し、使用中のアイテムのためにすべての再利用可能なメモリ スラブが再利用されるわけではないことも考慮します (/proc/meminfo で利用可能な MemAvailable、カーネル 3.14 で利用可能、カーネル 2.6.27+、それ以外は無料と同じ)

あなたの場合、


873224 (使用済み) + 389320 (無料) + 25493068 (バフ/キャッシュ) = 26755612 (合計)


于 2015-06-11T05:58:17.443 に答える
13

Linux は、開くすべてのファイルをキャッシュするのが好きです。読み取り用にファイルを開くたびに、Linux はそれをキャッシュしますが、システム上のプロセスがより多くのメモリを割り当てたい場合など、より重要な何かのためにメモリが必要な場合は、それらのキャッシュを破棄します。メモリ内のこれらのキャッシュは、同じファイルが何度も何度も使用されるときに Linux を高速化します。ファイルを読み取るたびに実際にディスクにアクセスする代わりに、メモリからファイルを取得するだけで、メモリはディスクよりもはるかに高速です。これが、システムが buff/cache で使用されている 25493068 を示しているのに、利用可能な 25311948 も示している理由です。キャッシュされたデータの多くは、システムが必要とする場合に解放できます。

于 2015-06-11T06:15:29.617 に答える