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スタイルの出力を表示することは可能ですか?両方のディストリビューションが異なるgnucoreutilsを使用していますか?
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
(これはすべて同じシステム上にあります。それ以降のバージョンでは、アカウンティングがより正確であることに注意してください。)