nofile
이 문제와 관련된 모든 StackExchange 답변을 따름에도 불구하고 우분투 14.04에서 루트가 아닌 사용자 의 제한 을 늘릴 수없는 것 같습니다 . 지금까지 나는 :
$ cat /etc/security/limits.d/custom.conf
@www-data hard nofile 50000
@www-data soft nofile 50000
# even tried specifying the username directly:
myuser hard nofile 50000
myuser soft nofile 50000
$ grep 'limits' /etc/pam.d/common-session*
/etc/pam.d/common-session:session required pam_limits.so
/etc/pam.d/common-session-noninteractive:session required pam_limits.so
$ cat /proc/sys/fs/file-max
101232
재부팅, 로그인 및
$ ulimit -n 4097
-bash: ulimit: open files: cannot modify limit: Operation not permitted
이 여전히 어떻게 든 루트가 아닌 사용자를위한 4096 최대의 제한 될 것으로 보인다.
답변
Ubuntu 14.04를 사용하여 설명 된 하드 한계를 얻었습니다.
user@notebook:~$ ulimit -Hn 4096
나는 ulimit를 사용하여 그것을 낮출 수는 있지만 질문이 설명하는 것처럼 그것을 늘릴 수는 없습니다. ulimit의 매뉴얼은 다음과 같이 설명합니다.
오직 루트 만이 하드 한계를 증가시킬 수 있습니다
그래서 /etc/security/limits.conf
다음과 같이 더 높은 한계를 설정하려고했습니다 .
user hard nofile 9999
그리고 새로운 로그인 ssh localhost -l user
은 나에게 새로운 한계를 부여했습니다.
user@notebook:~$ ulimit -Hn 9999
이것이 당신에게도 효과가 있기를 바랍니다.
답변
이 기사 는 귀하의 문제를 해결한다고 생각합니다.
기본적으로 ulimit 명령을 사용하여 사용 가능한 자원을 늘리십시오.
예를 들면 다음과 같습니다.
다음 명령 명령을 사용하여 열린 파일 디스크립터의 최대 수를 표시하십시오.
cat /proc/sys/fs/file-max
hard 및 soft 값을 보려면 다음과 같이 명령을 실행하십시오.
# ulimit -Hn
# ulimit -Sn
httpd 또는 oracle 사용자의 hard 및 soft 값을 보려면 다음과 같이 명령을 실행하십시오.
# su - username
최대 파일 수를 수정하려면 다음과 같이 커널 변수 / proc / sys / fs / file-max에 새 값을 설정하여 열린 파일의 최대 수를 늘릴 수 있습니다 (루트로 로그인).
# sysctl -w fs.file-max=100000
위의 명령은 파일을 100000 개로 제한합니다. /etc/sysctl.conf
재부팅 후 설정이 그대로 유지되도록 파일 을 편집 하고 다음 줄을 넣어야합니다. 그렇게하려면 다음과 같이 구성 지시문을 추가하십시오.
fs.file-max = 100000
파일을 저장하고 닫습니다. 변경 사항을 적용하거나 다음 명령을 입력하려면 사용자가 로그 아웃했다가 다시 로그인해야합니다.
# sysctl -p
다음 명령으로 설정을 확인하십시오.
# cat /proc/sys/fs/file-max
또는:
# sysctl fs.file-max
위의 절차는 시스템 전체 파일 디스크립터 (FD) 한계를 설정하지만 다음과 같이 한계를 편집 하여 파일을 편집 httpd
하여 사용자를 특정 한계로 제한 (또는 다른 사용자) 할 수 있습니다 ./etc/security/limits.conf
/etc/security/limits.conf
httpd soft nofile 4096
httpd hard nofile 10240
그런 다음 확인하십시오.
# su - httpd
$ ulimit -Hn
$ ulimit -Sn
다른 Linux 배포판에 문제가있는 경우 다음을 확인하고 활성화 /etc/pam.d/login
했는지 확인하십시오 pam_limits.so
. 예 :
session required pam_limits.so
답변
서비스 인 경우 /etc/systemd/system/{ServiceName}.service
추가 에서 제한을 설정하려고 시도 할 수 있습니다.LimitNOFILE=65536