の出力と次の出力を比較しようfree
としていますsar -r
。
# sar -r
12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
12:10:01 AM 629756 65293976 99.04 586536 60321636 5094176 7.49
# free
total used free shared buffers cached
Mem: 65923732 9120348 56803384 0 403628 5789524
-/+ buffers/cache: 2927196 62996536
Swap: 2097144 0 2097144
free
開始行にはMem:
以下があることは明らかですsar
。総kbmem、ケボメは思った、KBmemfree、???、kbバッファ、KBキャッシュ。
出発線から-/+
:???、???
私が表示した値の名前は何ですか?????このkbcommit
値ですか?私が読んでLinuxは私の記憶を食べました。これは数字の意味を説明しますが、名前は説明しません。さらに、無料マンページ名前も与えられませんでした。
答え1
名前は実際には一致しますが、まったく同じフィールドは表示されませsar
ん。free
最初は???
そうではありません。共有メモリです。kbcommit
fromと同じです。Shmem
/proc/meminfo
2行目は、バッファとキャッシュに使用されるメモリが使用されず、使用可能と見なされる場合のメモリ使用量を示しています。
$ free
total used free shared buffers cached
Mem: MemTotal kbmemused kbmemfree Shmem kbbuffers kbcached
-/+ buffers/cache: USED2 FREE2
Swap: 0 0 0
- MemTotal = /proc/meminfoのMemTotal
- Shmem = /proc/meminfo の Shmem
- USED2 = kbmemused - kbbuffers - kbcached
- FREE2 = kbmemfree + kbbuffers + kbcached
答え2
実際に出力からわかるように、sar
skbmemused
はいいえの2番目の「Mem:」フィールドと同じですfree
。からman sar
:
ケボメは思った 使用されるメモリ量(KB)。これはカーネル自体が使用するメモリを考慮しません。
考慮されていない部分は次のとおりです。
kbバッファ バッファとして使用されるメモリ量カーネル別キロバイト単位で測定されます。
KBキャッシュ データのキャッシュに使用されるメモリ量カーネル別キロバイト単位で測定されます。
これが単に誤解を招く文書ではないことを願っています。私はsar
ユーザーではありません。とにかく一番上の行にはfree
バッファとキャッシュが含まれます。 2行目(+/- buffers/cache
)はそうではありません。 403628( buffers
) + 5789524( cached
) = 6193152 および 9120348( Mem: used
) - 6193152 = 2927196( +/- buffers/cache: used
) です。
彼らの名前
好きなように電話できます。名前はsar
任意です。出力値を「メモリ使用マイナスキャッシュ」と呼ぶと、free
明らかに2行目の最初の数字を参照することになります。