25.9. systemd ユニットファイルを使用してアプリケーションの制限を設定する
systemd サービスマネージャーは、既存または実行中の各ユニットを監視し、それらのコントロールグループを作成します。ユニットの設定ファイルは /usr/lib/systemd/system/ ディレクトリーにあります。
ユニットファイルを手動で変更し、以下を行うことができます。
- 制限を設定する。
- 優先度を設定する。
- プロセスのグループのハードウェアリソースへのアクセスを制御する。
前提条件
-
root権限があります。
手順
/usr/lib/systemd/system/example.serviceファイルを編集して、サービスのメモリー使用量を制限します。… [Service] MemoryMax=1500K …この設定により、コントロールグループ内のプロセスが超えることのできない最大メモリーの制限が設定されます。
example.serviceサービスは、このようなコントロールグループの一部であり、制限を課せられています。測定単位のキロバイト、メガバイト、ギガバイト、またはテラバイトを指定するには、接尾辞 K、M、G、または T を使用できます。すべてのユニット設定ファイルを再読み込みします。
# systemctl daemon-reloadサービスを再起動します。
# systemctl restart example.service
検証
変更が有効になったことを確認します。
# cat /sys/fs/cgroup/system.slice/example.service/memory.max 1536000この出力例では、メモリー消費量が約 1,500 KB に制限されていることを示しています。