首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`free`’中的位置叫什么?

问‘`free`’中的位置叫什么?
EN

Unix & Linux用户
提问于 2014-07-27 13:06:09
回答 2查看 906关注 0票数 0

我试图将free的输出与sar -r的输出进行比较:

代码语言:javascript
复制
# sar -r
12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
12:10:01 AM    629756  65293976     99.04    586536  60321636   5094176      7.49

# free
             total       used       free     shared    buffers     cached
Mem:      65923732    9120348   56803384          0     403628    5789524
-/+ buffers/cache:    2927196   62996536
Swap:      2097144          0    2097144

在以free开头的Mem:行中,很明显,我们有在sar中所称的内容: kbmemtotal、kbmemused、kbmemfree、??、kbbuffers、kbcached。

在-/+开头的线路上:?

我标记的值的名称是什么?这是kbcommit值吗?我读过Linux吃了我的ram,它确实解释了数字的含义,但没有解释它们的名字。而且,自由手册也没有给出名称。

EN

回答 2

Unix & Linux用户

发布于 2014-07-27 17:21:59

名称实际上是匹配的,但是sar和free没有显示完全相同的字段。

您的第一个???不是kbcommit,它是共享内存,与/proc/meminfo中的Shmem相同。

第二行显示缓冲区和缓存使用的内存是否被视为空闲内存而不是使用内存。

代码语言:javascript
复制
$ free
             total       used       free     shared    buffers     cached
Mem:      MemTotal  kbmemused  kbmemfree      Shmem  kbbuffers   kbcached
-/+ buffers/cache:      USED2      FREE2
Swap:            0          0          0
  • MemTotal = MemTotal来自/proc/meminfo
  • Shmem = Shmem来自/proc/meminfo
  • USED2 = kbmemused kbbuffers - kbcached
  • FREE2 = kbmemfree + kbbuffers + kbcached
票数 1
EN

Unix & Linux用户

发布于 2014-07-27 13:19:15

实际上,正如您的输出可能表明的那样,sar's kbmemused可能与来自free的第二个"Mem:“字段不一样。来自man sar:

以千字节为单位的内存使用量。这没有考虑到内核本身使用的内存。

假定这部分未予考虑的是:

内核用作缓冲区的内存数量(以千字节为单位)。以千字节为单位缓存内核用于缓存数据的内存数量。

希望这不仅仅是误导文档的情况;我不是sar用户。在任何情况下,free中的顶层都包含缓冲区和缓存。第二行(+/- buffers/cache)没有。注意: 403628 (buffers) + 5789524 (cached) = 6193152,9120348 (Mem: used) - 6193152 = 2927196 (+/- buffers/cache: used)。

他们的名字

你想叫什么就叫什么。来自sar的名称是任意的。如果您将free输出的值称为“内存使用的减号缓存”,很明显,您指的是第二行中的第一个数字,等等。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/146827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档