この投稿では、systemd サービスの最大オープン ファイルなどの ulimit 制限を変更する方法について説明します。 CentOS/RHEL 7 または 8 システムでは、/etc/security/limits.conf または /etc/security/limits.d/ で行われた変更は systemd サービスに影響しません。
Systemd は、シェル プロファイルやスクリプトによって引き起こされる意図的でない、または予期しない制限の変更を最小限に抑えるために、システム全体の ulimit 設定を意図的に無視します。
たとえば、次のように、特定のサービスに対して新しい最大オープン ファイル制限を設定できます。
1. name.service を特定します /usr/lib/systemd/system に必要なファイル .
2. そのファイルを /etc/systemd/system にコピーします ディレクトリ。
3. /etc/systemd/system にコピーしたファイルを編集します 次の行を追加します:
LimitNOFILE=2048
4. サービスを再起動します:
# systemctl restart [service name]
すべての systemd サービスの ulimit 値をグローバルに更新します
または、次のようにすべての systemd サービスに対して同じ制限を更新することもできます:
1. /etc/systemd/system.conf を編集します 「#DefaultLimitNOFILE=」行のコメントを外し、目的の番号を追加します。
2. システムを再起動します:
# systemctl reboot