
キャッシュを除いて使用可能な物理メモリの量を示すスクリプトを作成していますが、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
free
Fedora出力を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などのページキャッシュで解放できないメモリが含まれており、ほとんどのアイドルシステムでほとんどのメモリを占有できる回収可能なスラブメモリが含まれていないため、これは間違っています。システムメモリのファイル。