メモリリミットを感覚で決めると事故が起きる
コンテナのメモリリミットを低く設定しすぎるとOOMKilledで予告なくコンテナが停止し、高く設定しすぎるとノードのリソースを浪費して他のポッドがスケジューリングされなくなります。このツールはアプリケーションタイプと想定同時接続数を入力すると、標準ティア(128Mi、256Mi、512Mi...)の中から適正な値を推薦します。
タイプ別の基本メモリとユーザーあたりの追加量
| アプリタイプ | 基本メモリ | ユーザーあたり |
|---|---|---|
| 静的サイト | 128Mi | +0.2Mi |
| 軽量API | 256Mi | +0.5Mi |
| 一般Webアプリ(DB連携) | 512Mi | +1Mi |
| ML・データ処理 | 1024Mi | +2Mi |
この値はあくまで出発点です
推薦値は一般的なシナリオを想定した出発点です。実際のサービスでは必ずモニタリングツールで実測メモリ使用量を確認し、リミットとリクエスト値を実測データに合わせて調整することが安全です。
よくある質問
メモリリミットはどう推薦されますか?
アプリタイプ別の基本メモリに同時接続数に応じた追加量を加え、20%の余裕分を反映して最も近い標準ティアで推薦します。
メモリリミットを低く設定するとどうなりますか?
OOMKilledでコンテナが強制終了したり、スワップが発生して応答速度が大きく低下することがあります。
リミットを多めに設定すれば常に良いですか?
いいえ。リミットが過大だとノードのリソースを浪費し、他のポッドがスケジューリングされない場合があるため、実測データで調整するのが理想です。