![/etc/sysctl.conf와 /etc/security/limits.conf에서 열린 파일 제한을 설정하는 것의 차이점은 무엇입니까?](https://linux55.com/image/9659/%2Fetc%2Fsysctl.conf%EC%99%80%20%2Fetc%2Fsecurity%2Flimits.conf%EC%97%90%EC%84%9C%20%EC%97%B4%EB%A6%B0%20%ED%8C%8C%EC%9D%BC%20%EC%A0%9C%ED%95%9C%EC%9D%84%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 허용된 열린 파일 수를 늘리는 두 가지 다른 방법에 대해 읽었습니다(중요한 경우 루트에 대해 수정하려고 합니다).
/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 제한에 직면할 때 일반적으로 더 정상적으로 실패하기 때문입니다.