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 값을 무엇으로 다시 설정해야 합니까? 또한 이 두 명령을 반대로 하려면 어떻게 해야 합니까 echo?

답변1

이것은 나에게 기본값처럼 보입니다. CLI를 사용하여 변경하면 변경 사항이 영구적이지 않습니다. 세션을 다시 시작하면 원래 값으로 복원됩니다.

마찬가지로 proc변경 사항은 영구적이지 않으며 재부팅하면 재설정됩니다.

답변2

php-fpm 서비스 대신 "ulimit -c 0"을 실행하면 로그인된 쉘의 ulimit가 변경됩니다.

영구적으로 사용하려면 php-fpm 서비스를 시작하는 서비스에 "LimitCORE=infinity"를 추가해야 합니다. 보다시스템 문서자세한 내용은.

이렇게 하려면 "systemctl edit php-rpm.service"(루트로)를 실행해야 하며 다음과 같은 내용을 추가할 수 있는 편집기가 나타납니다.

[Service]
LimitCORE=infinity

(또는 1G와 같은 합리적인 코어 크기 제한을 사용합니다.)

core_pattern을 유지하려면 systemd-coredump 및 abrtd를 비활성화하고 /etc/sysctl.d/의 sysctl 파일을 통해 kernel.core_pattern을 설정해야 합니다.

관련 정보