オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問2
プラットフォームの最適化/カーネルパラメータによるリソース最適化カーネルパラメータvm.overcommit_memoryの役割として適切なものはどれか。
出典:オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問2
- A特定のプロセスのメモリ使用量に上限を設定する
- B実際の物理メモリ・スワップの合計を超えるメモリ割り当て要求(オーバーコミット)を、カーネルがどの程度許可するかというポリシーを制御する
- C物理メモリの総容量を制限する
- Dメモリの物理アドレスと仮想アドレスの対応表(ページテーブル)のサイズを設定する
正解:B
解説
vm.overcommit_memoryは、プロセスからのメモリ確保要求に対して、実際の物理メモリ+スワップの合計量を超える「オーバーコミット」をどの程度許可するかというカーネルのポリシーを制御します。0(ヒューリスティックな判断で許可)、1(常に許可)、2(オーバーコミット比率に基づき厳密に制限)といった値を設定できます。
選択肢ごとの解説
- A誤り。特定プロセスのメモリ使用量の上限設定はcgroupsのmemoryコントローラ等の役割で、vm.overcommit_memoryの役割ではありません。
- B正しい。vm.overcommit_memoryはメモリのオーバーコミットをどの程度許可するかのポリシーを制御します。
- C誤り。物理メモリの総容量の制限はハードウェアやカーネル起動オプション(mem=等)の役割で、vm.overcommit_memoryの役割ではありません。
- D誤り。ページテーブルのサイズ設定は本パラメータの役割ではありません。