Linux 中 top 命令的内存值使用什么单位?

Linux 中 top 命令的内存值使用什么单位?

我将以下代码片段显示为我的顶级命令输出。这里的一个真正的快速问题是,Mem 的值以什么粒度显示?它们是字节数吗?

Mem:   8191488k total,  4277448k used,  3914040k free,   292356k buffers
Swap:        0k total,        0k used,        0k free,  3382180k cached

提出这个问题是因为free -m命令给出的输出为

            total       used       free     shared    buffers     cached
Mem:          7999       4177       3822          0        285       3302
-/+ buffers/cache:        588       7410
Swap:            0          0          0

答案1

的手册页top说:

2c.内存使用情况

该部分由两行组成,可以根据“E”交互式命令强制执行的缩放因子来表示以千字节 (KiB) 到艾字节 (EiB) 为单位的值。

它还包含千字节的定义,即在此超级用户答案中讨论

手册页free说它以千字节/兆字节为单位报告,但实际上它以千字节为单位报告,除非您添加该--si标志。

因此,回答我认为是你的问题,top报告 8191488k 和free -m报告 7999m 的原因是 8191488 除以 1024 是 7999.5。单位按 1024 的幂计算,而不是 1000 的幂。

答案2

看到k每个数字后面的数字了吗?千字节。 (free如果您不提供 ,这也是 的默认值-m。)

相关内容