재부팅하지 않고 limits.conf 수정 및 적용


16

/etc/security/limits.conf열린 파일 수를 늘리기 위해 줄을 추가했습니다 .

*    hard nofile 4096
root hard nofile 16384

그러나 내가 실행할 때 ulimit -n기본값은 1024입니다. 로그 아웃 및 로그인을했지만 여전히 1024가 표시됩니다. 변경을 어떻게 적용 할 수 있습니까?

답변:


8

당신이 사용하는 경우 bash, ulimit -n전용 소프트 제한을 표시합니다. 하드 한계를 얻으려면해야합니다 ulimit -Hn.

내 시스템에서 나는 이것을 본다 :

$ ulimit -n
1024
$ ulimit -Hn
4096

16

ulimit명령으로 변경 한 내용 :

$ ulimit -n 4096
$ ulimit -Hn 16384

현재 사용자 및 세션에만 적용됩니다. 영구적으로 유지하려면 /etc/security/limits.conf한계를 추가하여 수정 해야합니다.

* soft nofile 4096
* hard nofile 16384

그러나 와일드 카드 *root사용자에게 적용되지 않습니다 . 그렇게하려면 명시 적으로 명시해야합니다.

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

이러한 제한은 재부팅 후에 적용됩니다 .

reboot없이 변경 사항을 적용하려면 /etc/pam.d/common-session파일 끝에 다음 줄을 추가하여 수정 하십시오.

session required pam_limits.so

다음에 로그인하면 업데이트 된 제한이 표시됩니다 (소프트 및 하드 제한).

$ ulimit -a
$ ulimit -Ha

2
나는 정말 이상한이 접근법에 문제가있었습니다. Ubuntu 14를 사용하고 pam_limits.so에서 활성화 되었습니다 /etc/pam.d/common-session. /etc/security/limits.conf사용자 x에서 nofile64000에 대한 하드 및 소프트 제한을 갖도록 구성했습니다. sudo -u x그런 다음 ulimit -a변경 사항이 적용되지 않았 음 을 보여줍니다. 나는 그것을 실현 su하고 sudo그것이 내가이 가능하도록 필요한 제대로 작동하게하기 위해 이렇게 다른 PAM 구성이 pam_limits.so/etc/pam.d/common-session-noninteractive. 유스 케이스가 무엇인지 궁금한 경우 asible 및 sudo를 사용하여 사용자를 변경하십시오.
hahcho

1
어떤 이유로 나는 /etc/pam.d/common-session-noninteractive그것을 작동 시키기 위해 그것을 추가해야했습니다 .
수밋
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.