고쳐 쓰다

고쳐 쓰다

내 거 /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.confslimslimxserver

처음에는 문제가 해결된 것처럼 보였고 ulimit -n 16384slim을 추가하고 다시 시작한 후 새로운 ulimit가 적용되었습니다. 그런데 문제는 재시작 후 작동하지 않는다는 것입니다. 내 말은, 새로운 ulimit를 적용하려면 slim을 수동으로 다시 시작해야 한다는 뜻입니다. slim이 일반 init 스크립트로 시작되면 여전히 이전 ulimit 값을 갖습니다 1024.

답변1

(테스트를 반영하여 업데이트되었습니다)

Xorg 프로세스를 실행하는 사용자는 실제로 로그인되어 있지 않으므로 설정은/etc/security/limits.conf무시되고 있습니다. sysvinit를 사용하여 추가해야 합니다.ulimit -n 16384./etc/init.d/slimslim.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'

관련 정보