Linux

免費命令輸出:gentoo (redhat?) vs debian

  • April 7, 2016

我注意到 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

(這都在同一個系統上;請注意,在以後的版本中,會計是如何更準確的。)

引用自:https://unix.stackexchange.com/questions/274894