CentOS에서 ulimit 증가


18

사용자가 열 수있는 최대 파일 수를 늘리려는 CentOS 상자가 있습니다. 내가 실행할 때 현재 ulimit -Sn내가 도착 1024하고 ulimit -Hn있습니다 4096. 그 숫자는 약 6000이 필요합니다.

에서 /etc/sysctl.conf설정했습니다 fs.file-max = 100000. 에서 /etc/security/limits.conf나는 다음과 같은 설정을 가지고 :

username soft nofile 6000
username hard nofile 65535

로그 아웃했다가 다시 로그인 username했지만 여전히 변경 사항이 표시되지 않습니다. 이 값을 변경하려면 무엇이 필요합니까?

내가 가진 모든 것 /etc/security/limits.d입니다 90-nproc.conf. 또한 .bash_profile 또는 .bashrc에서 ulimit가 호출되지 않도록했습니다.

실행할 때 sysctl -p원하는 설정을 뱉어 내고 원하는 값을 표시합니다 fs.file-max. 그러나 내가 ulimit -Sn달리면 1048을 sysctl --system얻습니다 error: Unknown parameter "--system". 달리려고하면 내가 얻습니다 .


재부팅을 시도 했습니까? 내가 아는 한 시스템 부팅 중에 해당 설정을 읽습니다.
Kamil

다시 부팅 할 필요는 없습니다.
Xavier Lucas

답변:


14

강제 /etc/sysctl.conf로 다시 읽으 려면을 실행하십시오 sysctl -p.

/etc/security/limits.conf로그인 쉘에서 파일 을 읽고 GUI에있는 경우 활성 세션 창을 닫아야합니다. 원격 로그인의 경우 다시 로그에 적용됩니다.


1
재 로그인 후에도 여전히 변경 사항이 보이지 않습니다.
tubaguy50035

@ tubaguy50035 fs.file-max는 시스템에서 열린 최대 파일 수입니다. 하드 한도이며 ulimit귀하의 경우 전화에 반영되지 않습니다 .
Xavier Lucas

오 알았어 더 이상 파일을 너무 많이 열지 않아야합니까?
tubaguy50035

@ tubaguy50035 관련이 없습니다. limits.conf에서 위의 숫자보다 우선하는 것은 시스템 하드 한계입니다. 그러나 limits.conf가 여전히 적용됩니다. 새 세션에서 ulimit를 사용하여 하드 및 소프트 제한을 직접 설정하고 최대 값이 동일한 지 확인할 수 있습니까? 무언가가 구성을 무시하는 것 같습니다.
Xavier Lucas

작업이 허용되지 않습니다. 사용자에게 무언가에 대한 액세스 권한을 부여해야합니까? 오히려 웹 사용자에게는 루트 권한이 없습니다.
tubaguy50035

6

다른 포스터가 말했듯이 sysctl이 실행중인 커널에서 값을 설정해야합니다. 재부팅하지 않고 값을 설정하는 방법에는 여러 가지가 있습니다.

sysctl -p /etc/sysctl.conf
sysctl -w fs.file-max=100000
sysctl --system

마지막 방법은 부팅하는 동안 설정이 적용되는 순서를 복제하므로 마지막 방법이 가장 좋습니다 (따라서 충돌이있는 경우에는 분명해집니다).

참고 : 어떤 버전의 CentOS를 사용하고 있는지 확실하지 않지만 적어도 7에서는 dracut이 어떤 이유로 (예 : 새 커널 모듈을 설치할 때) initramfs를 다시 빌드하면 복사되는 문제가 발생했습니다. /etc/sysctl.*의 내용을 initramfs에 저장 한 후 나중에 /etc/sysctl.conf에서 해당 항목을 삭제하더라도 해당 단계에서 systemd-sysctl에 의해 실행됩니다.

내 환경에서 systemd dracut 모듈을 편집하여 해당 환경에서 /etc/sysctl.*를 제외했습니다 (rootfs가 마운트되고 systemd-sysctl이 다시 실행되면 해당 설정이 설정 됨). 그것은 당신이 겪을 수있는 문제 일뿐입니다.


CentOS 6.5를 사용하고 있습니다. 또한 그 중 일부의 결과로 내 질문을 업데이트했습니다.
tubaguy50035
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.