解決策 1:
systemd /etc/security/limits* を完全に無視します。更新時に systemd サービス ファイルを自動圧縮する RPM を使用している場合は、PR を提出して、これらのファイルを「noreplace」としてマークするように依頼する必要があります。
.service ファイル /usr/lib/systemd/system/<servicename>.service
を更新する必要があります
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
病気 /etc/systemd/system/<servicename>.d/override.conf
に追加することで、パッケージにインストールされた値 (上記のファイルにあります) をオーバーライドすることもできると指摘しました。
[Service]
LimitNOFILE=49152
これにより、パッケージの更新時に上書きされる危険がないシステム固有の設定という追加のボーナスが提供されます。
次に、コマンド systemctl daemon-reload
を発行します。
解決策 2:
/usr/lib/systemd/system/
の構成ファイル すべきではない 手動で編集する必要があり、rpm が更新時にこのディレクトリで管理するファイルを更新するのは (予期しない場合でも) 完全に正常です。
@sickill と @Cherif KAOUA がコメント [https://stackoverflow.com/questions/27849331/how-to-set-nginx-max-open-files/36423859#36423859] で指摘したように、制限を含むカスタム構成をに追加する必要があります/etc/systemd/system/<servicename>.service.d/override.conf
.例:
[Service]
LimitNOFILE=65536
次に、systemctl デーモン構成をリロードします:
systemctl daemon-reload
RHEL のシステム管理者ガイドには、systemd に関する優れたセクションがあり、特に、systemd ユニット ファイルを配置する場所とデフォルトを上書きする方法がリストされています。