procps-ng 3.3.10 無料のワイド出力フォーマットを無効にするには?

procps-ng 3.3.10 無料のワイド出力フォーマットを無効にするには?

キャッシュを除いて使用可能な物理メモリの量を示すスクリプトを作成していますが、FedoraシステムはUnixアカウントを持つCentOSシステムとは異なる出力形式を表示することがわかりました。

$ free
              total        used        free      shared  buff/cache   available
Mem:        7865868     3934924      241300      485916     3689644     3093784
Swap:       8388604      950988     7437616
$ ssh -q centos free
             total       used       free     shared    buffers     cached
Mem:       1921876    1848024      73852          0      10120      87124
-/+ buffers/cache:    1750780     171096
Swap:      2097148     240428    1856720
$ free -V                           
free from procps-ng 3.3.10
$ ssh -q centos free -V
procps version 3.2.8

freeFedora出力をCentOS出力のように見せる方法はありますか?

ベストアンサー1

いいえ、できません。

これは単純な形式の問題ではありません。 procps-ngのプログラムは最近、Linuxカーネルに導入された新しい指標をfree含むように更新されました。これは、一般的な(しばしば誤った)「使用可能+バッファ/キャッシュ」よりも実際に使用可能なメモリをよりよく表します。MemAvailable推定値(下記参照)。

procps-ng 3.3.10に含まれるプログラムは、freeこの情報を無効にするオプションを提供しません。実際、あなたが見るのはすでに「圧縮された」形式です。バッファとキャッシュを集約しない「ワイド」オプション(try-wまたは)もあります。--wide

使用可能なメモリを見つけるためのスクリプトを作成する場合は、「free + buffers / cache」の代わりにfreeとして報告された「available」値を使用することをお勧めします。バラよりこのコメントMemAvailable導入理由は、Linuxカーネルメーリングリストに記載されています。

多くのロードバランシングおよびワークロードデプロイメントプログラムは/proc/meminfoをチェックして、使用可能なメモリ量を推定します。通常、「無料」と「キャッシュ」を追加してこれを行いますが、これは10年前は大丈夫でしたが、今日はほとんど間違いありません。

Cachedには、共有メモリセグメント、tmpfs、ramfsなどのページキャッシュで解放できないメモリが含まれており、ほとんどのアイドルシステムでほとんどのメモリを占有できる回収可能なスラブメモリが含まれていないため、これは間違っています。システムメモリのファイル。

おすすめ記事