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


0

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

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


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

답변:


2

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


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