Linux
免費命令輸出:gentoo (redhat?) vs debian
我注意到 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
在 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
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
- 3.3.9 及更早版本,帶有
-o
, 顯示total used free shared buffers cached Mem: 31G 30G 549M 1.1G 2.2G 15G Swap: 31G 180M 31G
- 3.3.10 及更高版本僅顯示
total used free shared buff/cache available Mem: 31G 7.8G 525M 1.1G 23G 22G Swap: 31G 180M 31G
- 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
(這都在同一個系統上;請注意,在以後的版本中,會計是如何更準確的。)