본문 바로가기
[Development]/DailyWork

[D.D.S :: TIL ][Linux] Ulimit 설정

by Inkim 2020. 3. 19.

【LINUX :: ulimit】 

 

▣ 문제상황

⑴ 아파치 서버 재시작 시 오류 발생 > 로그   

(키워드)  "Too many open files error" 

⑵ 리소스 배포시 오류발생 "너무 많은 파일이 열려있습니다. "

(시스템차원) 해당 요청 대응을 위한 자원 할당 수준 상향 설정 필요성

 

 

▣ 명령어

▣ 해결방안

최대 파일 열기 갯수 확인

⑵ 프로세스별로 오픈된 파일 개수 확인

- (root 계정) lsof : 프로세스별 오픈된 파일 개수 확인 

- (root 계정) lsof -p PID | wc -l → 지정한 프로세스가 몇개의 파일 사용중인지 확인

⑶ ulimit 설정 변경 

  • 1회성 변경 시 : ulimit 명령을 통한 변경 

    • max user process 변경 ▶ ulimit -n 8192 : 프로세스 별 파일 열기 최대 갯수 설정

    • open files 갯수 변경 ▶ ulimit -u 4096 : 계정 별 생성 가능한 최대 프로세스 갯수 설정 

    • (단점 ) ulimit 명령어 방식 수정 시, 재로그인 또는 리부팅 시 기본 설정 원복 적용(초기화)

  • 상시 변경 적용 → 환경 설정 파일 수정 필요

    • vi /etc/security/limits.conf

    • limits.conf 파일 

    • (장점) 프로세스 user 별 설정 지정 가능 → user별 자원 사용 한도 설정 가능

③ /etc/profile 수정

 

▣ 그외

 

  • 리눅스 버전별로 확인할 파일명 및 명령은 다를 수 있음

  • cat /proc/sys/fs/file-max

  • sysctl fs.file-max

  • vi /etc/sysctl.conf → fs.file-max=66536 조정

================================

((TIL-2020-03-19))

- 애니링크 리소스 개발 후, 서버 배포 시 "너무 많은 파일이 열려있습니다" 의 오류를 만났다.

- 배포 관련 문제를 해결하기 위해 방법을 찾다가 "ulimit" 명령어 사용과 관련 있음을 알게 되었음

- Ulimit 관련 환경 설정 파일에서 open file 관련 설정을 상향 조정한 후, 배포 문제 해결 

- Ulimit 관련 개념을 구글링 한 후, 해당 상황 발생 원인 및 대처에 대해 정리해봄