25.4. コマンドラインでのメモリーリソース制御の設定
コマンドラインでコマンドを実行することは、プロセスグループのハードウェアリソースへのアクセスの制限を設定したり、優先順位を付けたり、制御したりする方法の 1 つです。
手順
サービスのメモリー使用量を制限するには、以下を実行します。
# systemctl set-property example.service MemoryMax=1500Kこのコマンドは、
example.serviceサービスが所属するコントロールグループで実行されるプロセスに対して、1,500 KB のメモリー制限を割り当てます。この設定バリアントのMemoryMaxパラメーターは/etc/systemd/system.control/example.service.d/50-MemoryMax.confファイルで定義され、/sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytesファイルの値を制御します。必要に応じて、サービスのメモリー使用量を一時的に制限するには、以下を実行します。
# systemctl set-property --runtime example.service MemoryMax=1500Kこのコマンドは、メモリー制限を
example.serviceサービスに即座に割り当てます。MemoryMaxパラメーターは、次回起動時まで/run/systemd/system.control/example.service.d/50-MemoryMax.confファイルで定義されます。再起動すると、/run/systemd/system.control/ディレクトリー全体とMemoryMaxが削除されます。
50-MemoryMax.conf ファイルは、メモリー制限を 4096 バイトの倍数 (AMD64 および Intel 64 に固有のカーネルページサイズ) として保存します。実際のバイト数は、CPU アーキテクチャーによって異なります。