나는 허용된 열린 파일 수를 늘리는 두 가지 다른 방법에 대해 읽었습니다(중요한 경우 루트에 대해 수정하려고 합니다).
/etc/security/limits.conf
한 가지 방법은 다음과 같이 설정을 업데이트하는 것입니다.
* soft nofile 500000
* hard nofile 500000
root soft nofile 500000
root hard nofile 500000
활성 셸을 설정하려면 ulimit -n 500000
재부팅이나 로그아웃/로그인이 필요하지 않지만 서비스를 다시 시작(?)해야 할 수 있는 이렇게 할 수 있는 것처럼 보입니다.
또 다른 옵션은 다음을 업데이트하는 것입니다 /etc/sysctl.conf
.
echo 'fs.file-max = 500000' >> /etc/sysctl.conf
활성 셸을 설정 sysctl -p
하려면 sysctl fs.file-max
.
그래서 내 질문은 차이점이 무엇입니까? 그것을 가지고? 온라인 중Ubuntu 14.04.2 LTS
답변1
차이점은 범위와 적용 방법에 있습니다. sysctls를 통해 설정된 열린 파일 제한은 전체 시스템에 적용되는 반면, sysctls를 통해 설정된 제한은 /etc/security/limits.conf
여기에 지정된 조건을 충족하는 콘텐츠에만 적용됩니다. 또 다른 주요 차이점은 /etc/security/limits.conf
제한이 ulimit를 통해 적용되므로 더 쉽게 변경할 수 있는 반면, sysctl 제한은 본질적으로 커널 자체에서 메모리 할당 제한을 설정한다는 것입니다.
일반적으로 /etc/security/limits.conf
와일드카드 일치를 설정하더라도 거의 항상 전역 제한을 사용하기를 원합니다. 왜냐하면 이것이 좀 더 안정적이고 커널 메모리 할당 제한에 직면할 때보다 ulimit 제한에 직면할 때 일반적으로 더 정상적으로 실패하기 때문입니다.