過去問ドリル

LinuCレベル4 システムアーキテクト 性能・拡張性の設計 問20

性能・拡張性の設計/性能の改善

1台のサーバーでオンライン処理とバッチ処理を同時に動かす。リソース配分の調整方法に関する説明として、誤っているものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「性能・拡張性の設計」に対応。実際の試験問題ではありません)

正解:A

解説

Linuxのnice/reniceはCPUスケジューラの優先度(タイムスライス配分)のみを制御します。ディスクI/Oやメモリのアロケーションはniceバリューの影響を受けません。I/O優先度は別途ioniceコマンドまたはcgroupのioコントローラーで設定し、メモリはcgroupのmemoryコントローラーで制限します。複数のリソースを同時にコントロールするにはcgroupを使います。

選択肢ごとの解説

  • A正しい(誤っている記述)。reniceはCPUスケジューラの優先度だけを制御します。ディスクI/Oはioniceまたはcgroupのioコントローラー、メモリはcgroupのmemoryコントローラーで個別に設定する必要があります。
  • B誤り(正しい記述)。cgroupのcpu.weightはCPU時間の相対的な割り当て比率を指定します。バッチ処理を低い重みのグループに入れることで、競合時にオンライン処理が優先的にCPUを使えます。
  • C誤り(正しい記述)。cgroupのioコントローラー(v2)では、プロセスグループごとにI/O帯域幅やIOPSの上限を設定できます。バッチ処理のディスクI/Oを制限してオンライン処理への影響を最小化できます。
  • D誤り(正しい記述)。tuned-adm activeで現在のプロファイルを確認し、tuned-adm recommendでシステムに適したプロファイルを確認できます。tunedはプロファイルに基づきCPUスケーリング・I/Oスケジューラ・カーネルパラメータ等を一括調整します。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く