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 coreutilを使用しますか?
答え1
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
(これはすべて同じシステムにあります。将来のバージョンで会計がどのように正確になるかを確認してください。)