助け合いフォーラム
この問題はプレミアムコンテンツです。
freeコマンドのMenのusedの値について
以下のコマンドの出力内容について適切な説明をしているものは次のうちどれか
total used free shared buff/cache available
Mem: 514840 158988 355852 0 37948 385664
Swap: 1048568 81436 967132
・使用されているスワップ領域は158988KB
〇物理メモリの総量は約514MB
・バッファキャッシュとページキャッシュを含む、実質的に使用しているスワップ領域は81436KB
〇バッファキャッシュとページキャッシュを含む、実質的に使用可能な物理メモリの量は385664KB
・バッファキャッシュとページキャッシュを含まない、実質的に利用されている物理メモリの量は158988KB
・バッファキャッシュとページキャッシュを含まない、実質的に利用されている物理メモリの量は158988KB
上記選択肢が不正解とされていますが、小豆本p35 表1-18 freeコマンドの出力項目
used 使用中のメモリサイズ(バッファキャッシュおよびページキャッシュを含まない)と記載されています。
問題の解説には下記のように記載されています。
Mem行に表示されている「used」にはバッファとキャッシュで使用しているメモリ量が含まれます。よって、バッファとキャッシュを含まない、実質的に利用されているメモリ利用量を知るには、usedからbuff/cacheの値を引いて求める必要があります。誤った記述です。
usedに表示されている値にバッファキャッシュとページキャッシュ含む含まないどちらなのでしょうか?
(問題が間違っているかLinuxの教科書LPICレベル2が間違っているのかどちらでしょうか)
2014年にリリースされたprocps 3.3.10でfree の出力が変わり、以前はused にバッファとキャッシュを含んでいましたが、現在は含んでいないようです。
https://askubuntu.com/questions/770108/what-do-the-changes-in-free-output-from-14-04-to-16-04-mean
現在の計算式 (used からcached とbuffers は引かれている):
used = total - free - cached - buffers
昔の計算式:
used = total - free
昔のfree コマンドでは「-/+ buffers/cache:」という行が表示されていました。この問題ではその行が表示されていないので、新しめのfree コマンドを使っていると推察され、used にバッファとキャッシュは「含まない」が正解そうです。
コメント
この投稿に対して返信しませんか?
s staff_khira0410
2024/11/21 16:45
fakuma624 さん、tnishita2 さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。