Page tree

리눅스 사용자별 오픈 파일 최대 갯수 늘리기


kernel 설정 확인

cat /proc/sys/fs/file-max

하드. 소프트 제한 확인

ulimit -Hn
ulimit -Sn

/etc/sysctl.conf 수정해서 커널 제한 늘리기

fs.file-max = 100000

커널 설정 반영

sysctl -p



사용자별 늘리기

  1. 설정 파일 오픈

    vi /etc/security/limits.conf
  2. httpd 사용자의 파일 제한 늘리기

    httpd soft nofile 55536
    httpd hard nofile 55536
    
    nginx soft nofile 55536
    nginx hard nofile 55536
  3. 저장하고 logoff 한 후에 해당 사용자로 로그인해서 설정 확인

    su -c "ulimit -Hn" httpd
  4. 위 설정이 반영되지 않을 경우 /etc/pam.d/login 에서 pam_limits.so 를 로딩하는지 확인(참고 man limits.conf)

    session required pam_limits.so

    또는 /etc/security/limits.d/90-nproc.conf 같은 파일에 하드 코딩되어 있을수도 있음. 아래는 실제 하드 코딩된 사례

    # Default limit for number of user's processes to prevent
    # accidental fork bombs.
    # See rhbz #432903 for reasoning.
    
    *          soft    nproc     1024
    root       soft    nproc     unlimited


Ref