열린 파일 수에 하드 및 소프트 제한이 필요한 이유는 무엇입니까?


0

나는 별도의 책을 읽고 있었다. 수호 질문 ulimit 값을 설정하고 Gordon의 대답에 열린 파일 설명자 수에 대한 하드 및 소프트 제한에 대해 언급했습니다. 단지 호기심, 왜 우리는 처음부터 단단하고 부드러운 한계가 필요한가요? 그것의 뒤에 오는 이득은 무엇입니까? 단단하고 부드러운 구분에 의지하지 않고 단일 한도를 갖는 것이 더 간단하지 않습니까?

그건 그렇고, 이미 맨 페이지를 확인했고, ulimit에 관해서는 아무 것도 말하지 않았다.


구별이 하드 한계와 소프트 한계를 갖는 것이 더 합리적인 다른 제한에서 이월되어 파일에 일반 필드 형식이있을 수 있습니다.
Dan D.

답변:


2

우리가 다른 모든 것에 열심히하고 부드러운 한계를 가지고있는 것과 같은 이유. 하드 한도는 사용자를 서로로부터 보호하는 것입니다. 한 사용자가 제한없이 리소스를 사용할 수 있으면 다른 모든 사용자에 대한 시스템 성능 / 응답이 줄어 듭니다. 소프트 한도는 사용자를 스스로로부터 보호하는 것이며, 열린 파일 수는 완벽한 예입니다. 한 번에 300 개의 파일을 열어야 할 수도 있고 하드 한도가 300 이상이면 그럴 수 있습니다. (소프트 한도가 300 이하이면 하드 한도까지 할 수 있습니다.) 그러나 한 번에 300 개의 파일을 열어야하는 프로그램은 거의 없습니다. 프로그램이 그렇게한다면, 파일을 사용하는 것으로 끝났지 만 파일을 열고 닫지 못하는 버그가있을 것입니다. 이 경우 프로그램이 101 번째 파일을 열려고 할 때 알아 두는 것이 좋습니다. 시간을 절약 할 수 있으며, 누군가 다른 사람이하기 전에 프로그램의 오류를 발견하게 할 수도 있습니다.


하드 한계가 서로를 보호하는 것이라고 말하는 것은 약간의 의문입니다. 동일한 사용자 계정 하에서도 터미널 세션별로 다른 하드 한도를 설정할 수 있기 때문입니다. 목적이 서로간에 사용자를 보호하는 것이라면 모든 세션에 적용되는 숫자는 하드 한도이지만 분명하지는 않습니까? 적어도 Mac에서는 그렇지 않습니다. 아직 리눅스로 검증하지 않았다.
Antony
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.