過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト プラットフォームの最適化 問2

プラットフォームの最適化/カーネルパラメータによるリソース最適化

カーネルパラメータvm.overcommit_memoryに設定する値0・1・2の違いに関する説明として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの最適化」に対応。実際の試験問題ではありません)

正解:B

解説

vm.overcommit_memoryは、0がカーネルによる推測にもとづく判定(既定値)、1が要求をほぼ無条件に許可、2がCommitLimit(スワップ+物理メモリのovercommit_ratio分)を超える要求を拒否する、という3つの方針を切り替えるパラメータです。値の大小が制限の強さの順に並んでいるわけではない点に注意が必要です。

選択肢ごとの解説

  • A誤り。オーバーコミットを抑制するのは2で、0はカーネルの推測による判定です。0が完全禁止という対応ではありません。
  • B正しい。0は推測による判定、1はほぼ無条件の許可、2はCommitLimitを超える要求の拒否を意味します。
  • C誤り。値が大きいほど緩くなるわけではなく、2はCommitLimitによってむしろ厳しく制限する設定です。
  • D誤り。値によってメモリ割り当て要求の可否そのものが変わるパラメータであり、ログの詳細さを決めるものではありません。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く