소프트 및 하드 ulimit를 변경한 후에도 프로세스별 ulimit가 여전히 낮습니다.

소프트 및 하드 ulimit를 변경한 후에도 프로세스별 ulimit가 여전히 낮습니다.

ulimit -nDebian 6 서버의 특정 프로세스에 대한 열린 파일 ulimit()를 늘리는 데 문제가 있습니다.

AFAIK 이 경우 서버의 하드 및 소프트 제한(200000 표시)을 변경하기 위해 모든 것을 시도했지만 ulimit -n파일을 확인하면 /proc/<process_id>/limits여전히 이전 제한이 표시됩니다.

Limit                     Soft Limit           Hard Limit           Units
Max open files            1024                 4096                 files

ulimit를 영구적으로 늘리기 위해 취한 단계는 다음과 같습니다.

/etc/profile에 추가:

# set ulimit n permanetly
ulimit -n 200000

/etc/security/limits.conf에 추가:

*       soft    nofile  200000
*       hard    nofile  200000

/etc/pam.d/su에서 이 라임의 주석 처리를 해제하세요.

session    required   pam_limits.so

내가 무엇을 놓치고 있나요?감사합니다!


기타(관련?) 정보:

  • init.d프로세스는 스크립트에서 시작됩니다.start-stop-daemon
  • 디렉터리 /etc/security/limits.d/가 비어 있습니다.

답변1

내 특별한 경우에는 내가 실행 중인 애플리케이션이 sudo를 통해 시작되었습니다. 따라서 이러한 제한 사항은 루트 사용자 계정에서 적용될 것이라고 생각합니다. 내가 틀렸어. 대신, 응용 프로그램이 루트로 실행되고 있음에도 불구하고 응용 프로그램에 적용된 제한 사항은 응용 프로그램을 시작한 사용자에게 속한 제한 사항이라는 것을 발견했습니다.

관련 정보