내가 작업하는 곳에서는 라이브러리 및 라이브러리에 구축 된 몇 가지 복잡한 프로그램을 빌드하고 배포합니다. 모든 코드는 C로 작성되었으며 Windows, Linux, Aix, Solaris, Darwin과 같은 대부분의 '표준'시스템에서 사용할 수 있습니다. 파일 설명자 제한 및 기본 스택 크기
나는 품질 보증 부서에서 시작되어 실행 테스트는 최근에 내가 파일 디스크립터 제한을 설정 기억할 필요가 여러 번 생각 나게되었고, 기본 스택 크기 동안 높거나 나쁜 일이 일어날 것입니다. 특히 솔라리스와 지금은 다윈의 경우입니다. 내가 0 필요한 환경에서 신자는 제품 작동하도록 하구이기 때문에지금이 나에게 매우 이상하다. 그래서 나는 이런 종류의 요구 사항이 필요한 악이며, 우리가 뭔가 잘못하고있는 경우가 있는지 궁금합니다.
편집 :
문제를 설명하는 간단한 설명과 배경이 약간 있습니다. 그러나 나는 그 질문에 대해 충분히 말하지 않았다. 현재 우리는 코드를 실행하기 전에 이러한 제한을 설정하기 위해 고객과 이에 따른 테스터를 요구합니다. 우리는 프로그램 적으로 이것을하지 않습니다. 그리고 이것은 정상적인 부하 하에서 프로그램이 다 소모되어 오류가 발생하는 상황이 아닙니다. 질문을 다시 한 번 말하면 고객이 소프트웨어를 Solaris, Aix와 같은 일부 플랫폼에서 실행되도록 실행하기 위해 이러한 ulimit 값을 변경하도록 요구하고 있습니까? 아니면 이러한 사용자가 쉽게 접근 할 수없는 회사입니까?
바운티 : 나는 다른 회사가 이러한 한계를 관리하기 위해 무엇을하고 있는지에 대한 정보를 얻기 위해 바운티를 추가했습니다. 실용적으로 이것을 설정할 수 있습니까? 우리가해야할까요? 우리의 프로그램이 이러한 한계를 극복해야만 하는가? 아니면 이것이 사안에 약간 지저분한 징후 일 수 있는가? 그것은 내가 뭘 알고 싶은지, 완벽 주의자처럼 보이지만 더러운 프로그램은 정말로 나를 괴롭힌다. 다윈에
는 지금까지 스택 크기의 이동으로 - 작은 최대 스택 크기는 더 많은 스레드는 가상 메모리 부족 실행하기 전에 할 수 있습니다. 종종 32 비트 시스템에서 중요합니다. 64 비트 시스템에서는 그다지 중요하지 않습니다. –