LinuCレベル2 システムの保守と運用管理 問38
システムの保守と運用管理/リソース使用状況の把握freeコマンドの出力にあるavailable列の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの保守と運用管理」に対応。実際の試験問題ではありません)
- Aどのプロセスにもページキャッシュにも使われていない、完全に未使用のメモリ量を示す
- Bスワップ領域のうち、まだ使われていない容量を物理メモリの空きに加えた量を示す
- Cページキャッシュ等の回収できる分も考慮した、スワップせずに新たに使えるメモリ量の見積もりを示す
- Dカーネルが自身のために予約しており、ユーザーのプロセスには割り当てない量を示す
正解:C
解説
available列は、スワップを起こさずに新しいアプリケーションが使えるメモリ量の見積もりです。Linuxは空きメモリをページキャッシュ等に積極的に使うため、free列(完全に未使用の量)が小さくても、回収できるキャッシュが多ければ実際には余裕があります。メモリ不足かどうかはfree列ではなくavailable列で判断するのが基本です。値はカーネルの/proc/meminfoのMemAvailableに基づきます。
選択肢ごとの解説
- A誤り。これはfree列の説明です。
- B誤り。スワップの空きはSwap:行のfree列に別に表示され、available列には含まれません。
- C正しい。回収できるキャッシュ等も考慮した、スワップせずに使えるメモリ量の見積もりです。
- D誤り。available列はカーネルの予約分を表すものではありません。