free 输出中的缓冲区列是什么?

cas*_*xer 4 linux memory cache

这些 问题简要列出了 free 命令的格式,注意缓冲区是必须写入磁盘的内核内存,缓存是不需要写入磁盘的文件数据。

在我的系统上,与大多数时候免费运行不同,缓冲区占用了超过 10% 的 RAM。通常,缓冲区是一个很小的、几乎是令牌的值。

我的问题是,在称为缓冲区的区域中究竟是什么?我可以找它lsof吗?它是否包含尚未刷新的打开文件区域?它是内存映射文件区域吗?它是什么?

系统运行良好,很少使用交换,所以性能很好。

2bc*_*2bc 5

free/proc/meminfo

slkwr133701:/usr/src/linux # free

             total       used       free     shared    buffers     cached
Mem:       2053456     434572    1618884          0      77888     201820

slkwr133701:/usr/src/linux # cat /proc/meminfo

MemTotal:        2053456 kB
MemFree:         1618736 kB
Buffers:           77928 kB
....
Run Code Online (Sandbox Code Playgroud)

这是指用于临时块 I/O 存储的内存。内核必须不断分配和释放相同大小的单元,如块 I/O 传输、网络数据包和套接字缓冲区

您可以通过运行更好地查看缓存和缓冲区分配 slabtop

回答您的使用问题:系统通常会分配比需要更多的块,但随着“内存压力”的增加,这些额外的块将被释放。


归档时间:

查看次数:

10748 次

最近记录:

5 年,4 月 前