我试图确定 vmstat 输出中 buff 列的含义。联机帮助页说它代表用作缓冲区的内存量。这里讨论的是哪些缓冲区?我在节点的所有 16 个核心上运行了 NAS CG 基准测试,并监控了如下所示的 vmstat 输出。在这种情况下,buff 列似乎根本没有改变。谁能解释一下buff是什么意思?
谢谢
vmstat -S M 1 50
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 176 61871 699 878 0 0 0 2 0 0 7 0 93 0 0
0 0 176 61871 699 878 0 0 0 0 84 72 0 0 100 0 0
0 0 176 61871 699 878 0 0 0 0 44 48 0 0 100 0 0
0 0 176 61871 699 878 0 0 0 0 63 69 0 0 100 0 0
0 0 176 61871 699 878 0 0 0 0 47 39 0 0 100 0 0
16 0 176 60618 699 886 0 0 0 0 7688 1102 43 3 54 0 0
16 0 176 60614 699 887 0 0 0 0 16041 115 98 2 0 0 0
16 0 176 60614 699 887 0 0 0 0 16062 118 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16053 114 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16057 155 98 2 0 0 0
17 0 176 60616 699 887 0 0 0 0 16056 116 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16046 110 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16065 129 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16043 103 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16062 139 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16056 128 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16048 109 98 2 0 0 0
16 0 176 60616 699 887 0 0 0 0 16061 131 98 2 0 0 0
16 0 176 60614 699 887 0 0 0 0 16082 153 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16097 212 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16052 119 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 4 16049 113 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16064 157 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16048 116 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 20 16059 119 98 2 0 0 0
16 0 176 60615 699 887 0 0 0 0 16059 123 98 2 0 0 0
0 0 176 61866 699 878 0 0 0 8 11534 401 67 2 30 0 0
0 0 176 61869 699 878 0 0 0 0 61 73 0 0 100 0 0
0 0 176 61869 699 878 0 0 0 0 44 39 0 0 100 0 0
0 0 176 61869 699 878 0 0 0 0 67 72 0 0 100 0 0
答案1
该buff
值是用作缓冲区输入/输出的内存量(以千个八位字节为单位)。内存缓冲区存储正在传输到立即存取存储器和从立即存取存储器传输的数据。缓冲区允许处理器和内存单元独立运行,而不会受到操作中微小差异的影响。因此,数据将被复制到缓冲区,准备在下一个时钟周期使用,此时数据可以被处理器用于读取或写入,或者在写入后存储在主存储器中。
问候,