Pet*_*etr 4 linux command-line memory utilities
我注意到 free 命令的输出之间存在差异:
在 debian 上:
$ free -h
total used free shared buffers cached
Mem: 4.0G 3.4G 629M 0B 96K 1.3G
-/+ buffers/cache: 2.1G 2.0G
Swap: 4.0G 1.1G 2.9G
Run Code Online (Sandbox Code Playgroud)
在gentoo上:
$ free -h
total used free shared buff/cache available
Mem: 15G 3.7G 9.6G 485M 2.2G 11G
Swap: 8.8G 2.6G 6.2G
Run Code Online (Sandbox Code Playgroud)
Redhat(至少 7.x)似乎与 gentoo 具有相同的输出。这是为什么?是否也可以在 gentoo/redhat 系统上显示 debian 风格的输出?两个发行版都使用不同的 gnu coreutils 吗?
free
由提供procps-ng
;Debian的8具有版本3.3.9,它使用旧风格单独的线buffers/cache
,而Gentoo和RHEL大概7 X具有版本3.3.10或更高版本,其采用了全新的风格。您可以在相应的提交消息中看到更改背后的原因。
如果您真的想要旧样式的输出,您可以运行旧版本的procps
,但您会发现默认情况下发行版将迁移到较新的样式。较新的样式还提供了可用内存量,这是一条非常有用的信息(有关详细信息,请参阅如何可移植地跨发行版获取可用内存量?)。
有点令人困惑的是,版本 3.3.9 将没有该buffers/cache
行的格式称为“旧格式”,您可以在该版本中看到它带有free -o
. 所以都说:
3.3.9 及更早版本默认显示
total used free shared buffers cached
Mem: 31G 30G 539M 1.1G 2.2G 15G
-/+ buffers/cache: 13G 18G
Swap: 31G 180M 31G
Run Code Online (Sandbox Code Playgroud)3.3.9 及更早版本,带有-o
, 显示
total used free shared buffers cached
Mem: 31G 30G 549M 1.1G 2.2G 15G
Swap: 31G 180M 31G
Run Code Online (Sandbox Code Playgroud)3.3.10 及更高版本仅显示
total used free shared buff/cache available
Mem: 31G 7.8G 525M 1.1G 23G 22G
Swap: 31G 180M 31G
Run Code Online (Sandbox Code Playgroud)3.3.10 及更高版本也有一个宽输出模式,-w
,它显示
total used free shared buffers cache available
Mem: 31G 7.8G 531M 1.1G 2.2G 20G 22G
Swap: 31G 180M 31G
Run Code Online (Sandbox Code Playgroud)(这一切都在同一个系统上;请注意,使用更高版本的会计更准确。)
归档时间: |
|
查看次数: |
3555 次 |
最近记录: |