Red Hat Training

A Red Hat training course is available for RHEL 8

44.5.2. systemd によるコントロールグループバージョン 1 の変更

各永続的なユニットは systemd システムおよびサービスマネージャーによって監視され、/usr/lib/systemd/system/ ディレクトリーにユニット設定ファイルがあります。永続的なユニットのリソース制御設定を変更するには、そのユニット設定ファイルをテキストエディターまたはコマンドラインインターフェースで手動で変更します。

44.5.2.1. コマンドラインでのメモリーリソース制御の設定

プロセスのグループのハードウェアリソースに対するアクセス権限を設定して優先順位を付け、制御する方法の 1 つとして、コマンドラインインターフェースでコマンドを実行する方法があります。

手順

  • サービスのメモリー使用量を制限するには、以下を実行します。

    # systemctl set-property example.service MemoryLimit=1500K

    このコマンドは、example.service サービスが所属するコントロールグループで実行されるプロセスに対して、1,500 キロバイトのメモリー制限を割り当てます。この設定バリアントの MemoryLimit パラメーターは /etc/systemd/system.control/example.service.d/50-MemoryLimit.conf ファイルに定義され、/sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes ファイルの値を制御します。

  • 必要に応じて、サービスのメモリー使用量を一時的に制限するには、以下を実行します。

    # systemctl set-property --runtime example.service MemoryLimit=1500K

    このコマンドは、メモリー制限を example.service サービスに即座に割り当てます。MemoryLimit パラメーターは、次回起動時まで /run/systemd/system.control/example.service.d/50-MemoryLimit.conf ファイルに定義されます。再起動すると、/run/systemd/system.control/ ディレクトリー全体と MemoryLimit が削除されます。

注記

50-MemoryLimit.conf ファイルは、メモリー制限を 4096 バイトの倍数 (AMD64 および Intel 64 に固有のカーネルページサイズ) として保存します。実際のバイト数は、CPU アーキテクチャーによって異なります。

関連情報