Centos7に推奨されるulimit値

Centos7に推奨されるulimit値

コアダンプを実行するようにPHPを設定しようとして、次のコマンドを実行しました。

[root@myserver ~]# echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
[root@myserver ~]# echo 0 > /proc/sys/kernel/core_uses_pid
[root@myserver ~]# ulimit -c unlimited

元のulimit値が何であるかわかりませんが、次のようになります。

[michael@myserver ~]$ ulimit
unlimited
[michael@myserver ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7867
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[michael@myserver ~]$

また、php-fpm設定ファイルをいくつか変更しましたが、デフォルト設定に戻しました。

私はCentos7を使用しています。 ulimit値を何にリセットする必要がありますか?また、これら2つのコマンドを逆にするにはどうすればよいですかecho

答え1

これは私にとってデフォルトのようです。 CLI を使用して変更すると、変更は永続的ではありません。セッションを再開すると、元の値に復元されます。

同様にproc、変更は永続的ではなく、再起動するとリセットされます。

答え2

php-fpmサービスの代わりに「ulimit -c 0」を実行すると、ログインしたシェルのulimitが変更されます。

永久に使用するには、php-fpmサービスを開始するサービスに「LimitCORE = infinity」を追加する必要があります。よりシステム文書詳細については。

これを行うには、「systemctl edit php-rpm.service」(root)を実行する必要があり、次の内容を追加できるエディタが表示されます。

[Service]
LimitCORE=infinity

(または1Gなどの合理的なコアサイズ制限を使用してください。)

core_patternを維持するには、systemd-coredumpとabrtdを無効にし、/etc/sysctl.d/のsysctlファイルを介してkernel.core_patternを設定する必要があります。

関連情報