上部の「buff / cache」フィールドと「avail mem」フィールドはどういう意味ですか?

上部の「buff / cache」フィールドと「avail mem」フィールドはどういう意味ですか?

top 出力には、メモリーとスワップ使用量行に「buff/cache」と「avail Mem」という 2 つのフィールドがあります。

ここに画像の説明を入力してください。

これら2つのフィールドはどういう意味ですか?

インターネットを検索しようとしましたが、結果は上部に一般的な記事のみを表示し、フィールドの意味を説明しません。

答え1

topマンページにはこれらのフィールドは記載されていませんが、free~のする:

バッファー

カーネルバッファで使用されるメモリ( Buffersin /proc/meminfo)

隠れ家

タブレット(Cachedおよび)SReclaimableで使用されるページキャッシュとメモリ/proc/meminfo

ゲイン/キャッシュ

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

書くことができる

スワップなしで新しいアプリケーションを起動するために使用できるメモリ量を見積もります。キャッシュまたは空きフィールドによって提供されるデータとは異なり、このフィールドはページキャッシュを考慮しており、使用中のプロジェクトによってすべての回収可能なメモリフラグメントが回収されるわけではありません(シミュレーション時にカーネル3.14MemAvailableで利用可能/proc/meminfo、カーネル2.6.27+で利用可能))、それ以外の場合は無料と同じ)

デフォルトでは、「バフ/キャッシュ」は、ディスク上にあるか、すぐにシャットダウンする必要があるデータに使用されるメモリを計算して使用できます(読み取り後に変更されていない場合はそのメモリをすぐに使用できます)、または指定された十分な時間(存在する場合)、 「空き」は、追加の交換を行わずに割り当てて使用できるメモリ量を測定します。ディストリビューションで移植可能な使用可能なメモリ量を取得するには?詳細は)。

答え2

少しはっきりと言えば、バッファーであることを指す。苦い- 書き込みが完了するまでメモリを回復できません。

隠れ家合格したデータを指します。読む- 再読み込みが必要な場合に備えてアーカイブしますが、いつでもディスクから再度読み取ることができるので、すぐにリサイクルしてください。

答え3

この情報の正式なソースは次のとおりです。 /usr/src/linux/Documentation/filesystems/proc.txt

バッファー:生ディスクブロックの比較的一時記憶領域が大きすぎてはいけません(20MB程度)。 隠れ家:ディスクから読み取ったファイルのメモリキャッシュ(ページキャッシュ)。 SwapCachedは除外されます。

詳細についても確認できますここ

Linuxページキャッシュ( "隠れ家:" from meminfo ) は、ほとんどのシステムで最も多くのRAMを使用する単一のコンシューマです
バッファー:" in meminfo) は dentry/inode キャッシュと密接に関連しています。

または、ソースコードを分析してみてください。これ

数量はbuffers関数の戻り値です。nr_blockdev_pages(void)

long nr_blockdev_pages(void)
{
        struct block_device *bdev;
        long ret = 0;
        spin_lock(&bdev_lock);
        list_for_each_entry(bdev, &all_bdevs, bd_list) {
                ret += bdev->bd_inode->i_mapping->nrpages;
        }
        spin_unlock(&bdev_lock);
        return ret;
}

多くcached

global_page_state(NR_FILE_PAGES) – total_swapcache_pages – i.bufferram

関連情報