您的位置:首页 > 运维架构 > Linux

linux free 命令中的 buffer & free

2015-06-02 15:27 369 查看
Short answer: Cached is
the size of the page cache. Buffers is
the size of in-memory block I/O buffers. Cached matters; Buffers is
largely irrelevant.

Long answer: Cached is
the size of the Linux page cache, minus the memory in the swap cache, which is represented by SwapCached (thus
the total page cache size is Cached + SwapCached).
Linux performs all file I/O through the page cache. Writes are implemented as simply marking as dirty the corresponding pages in the
page cache;
the flusher threads then periodically write back to disk any dirty pages. Reads are implemented by returning the data from the page cache; if the data is not yet in the cache, it is first populated. On a modern Linux system, Cached can
easily be several gigabytes. It will shrink only in response to memory pressure. The system will purge the page cache along with swapping data out to disk to make available more memory as needed.

Buffers are
in-memory block I/O buffers. They are relatively short-lived. Prior to Linux kernel version 2.4, Linux had separate page and buffer caches. Since 2.4, the page and buffer cache are unified and Buffers is
raw disk blocks not represented in the page cache—i.e., not file data. The Buffers metric
is thus of minimal importance. On most systems, Buffers is
often only tens of megabytes.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  buffer cache