내 거 /etc/security/limits.conf
:
#<domain> <type> <item> <value>
root - memlock 65536
root - stack 524288
root - nice -20
root - nofile 16384
/usr/lib/xorg/Xorg
그러나 루트로 실행되는 프로세스에는 여전히 1024
다음만 있습니다 RLIMIT_NOFILE
.
cat /proc/$(pgrep Xorg)/limits | grep 'open file'
Max open files 1024 4096 files
내 설정이 /etc/security/limits.conf
반영 되지 않는 이유는 무엇입니까 Xorg
? 한도는 어디에서 늘릴 수 있나요 /usr/lib/xorg/Xorg
?
내 시스템은 Debian Buster입니다. 아니요 systemd
(저는 를 사용하고 있습니다 sysvinit
). slim
로그인 관리자로 사용하고 있습니다 . 그래서 내 생각엔 slim
그게 시작된 것 같아요 Xserver
. pam
사용되는 모듈은 다음과 같습니다 slim
.
cat /etc/pam.d/slim
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
@include common-account
session required pam_limits.so
session required pam_loginuid.so
@include common-session
@include common-password
고쳐 쓰다
제안에 영감을 받아 실제로 시작될 때 사용 되는 구성 스크립트를 @ajgringo619
추가했습니다 .ulimit -n 16384
/etc/init/slim.conf
slim
slim
xserver
처음에는 문제가 해결된 것처럼 보였고 ulimit -n 16384
slim을 추가하고 다시 시작한 후 새로운 ulimit가 적용되었습니다. 그런데 문제는 재시작 후 작동하지 않는다는 것입니다. 내 말은, 새로운 ulimit를 적용하려면 slim을 수동으로 다시 시작해야 한다는 뜻입니다. slim이 일반 init 스크립트로 시작되면 여전히 이전 ulimit 값을 갖습니다 1024
.
답변1
(테스트를 반영하여 업데이트되었습니다)
Xorg 프로세스를 실행하는 사용자는 실제로 로그인되어 있지 않으므로 설정은/etc/security/limits.conf무시되고 있습니다. sysvinit를 사용하여 추가해야 합니다.ulimit -n 16384./etc/init.d/slim
slim.conf
이 고정된 systemd 버전은 Debian 10 VM에서도 작동합니다(위의 ulimit 명령을 모방하는 구성 설정이 추가됨).
답변2
지금은 댓글을 달 수 없으므로 여기에 제안사항으로 답변해 주세요.
당신은 시도 할 수 있습니다:
root soft nofile 16333
root hard nofile 16888
다음 사항을 확인 relogin
하거나 재부팅 Xorg
하고 확인하세요.
cat /proc/$(pgrep Xorg)/limits | grep 'open file'