Red Hat Training
A Red Hat training course is available for RHEL 8
25.5. ユニットファイルを使用したメモリーリソース制御の設定
各永続的なユニットは systemd
システムおよびサービスマネージャーによって監視され、/usr/lib/systemd/system/
ディレクトリーにユニット設定ファイルがあります。永続的なユニットのリソース制御設定を変更するには、そのユニット設定ファイルをテキストエディターまたはコマンドラインインターフェイスで手動で変更します。
プロセスのグループのハードウェアリソースに対するアクセス権限を設定して優先順位を付け、制御する方法の 1 つとして、ユニットファイルを手動で変更する方法があります。
手順
サービスのメモリー使用量を制限するには、以下のように
/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/memory/system.slice/example.service/memory.limit_in_bytes 1536000
この出力例では、メモリー消費量が約 1,500 KB に制限されていることを示しています。
注記memory.limit_in_bytes
ファイルは、メモリー制限を 4096 バイトの倍数 (AMD64 および Intel 64 に固有のカーネルページサイズ) として保存します。実際のバイト数は、CPU アーキテクチャーによって異なります。
関連情報
- コントロールグループについて
- Linux カーネルリソースコントローラーとは
-
systemd.resource-control(5)
、cgroups(7)
man ページ - RHEL の 基本的なシステム設定の設定
- コントロールグループ内の systemd のロール