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

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

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



답변

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