Linux 개념 | 파일 디스크립터(File Descriptor, FD) 확인 법
본문 바로가기

Linux

Linux 개념 | 파일 디스크립터(File Descriptor, FD) 확인 법

728x90
반응형

리눅스 서버에서 현재 파일 디스크립터(File Descriptor, FD) 사용량 및 제한치를 확인할 때 사용하는 명령어와 출력 항목의 의미를 정리합니다.


1. 커널 레벨 FD 사용량 확인

$ cat /proc/sys/fs/file-nr

 

출력 예시:

1056    0       9223372036854775807

 

출력값은 총 3개의 숫자로 구성되며 각각 의미는 다음과 같습니다.

항목 설명
첫 번째 값 커널에서 현재 사용 중인 FD 개수 (allocated)
두 번째 값 할당되었지만 아직 사용되지 않은 FD (unused) — 최신 커널은 대부분 0
세 번째 값 커널에서 설정된 FD 총 최대치 (fs.file-max)

위 예시 기준 해석:

현재 사용 중: 1056개
미사용: 0개
커널 최대 허용치: 263-1 (사실상 무제한)

2. 커널 FD 총량 확인 명령어

$ sysctl -a | grep fs.file-max

 

출력 예시:

fs.file-max = 9223372036854775807

 

이는 커널 전역에서 열 수 있는 파일 디스크립터의 최대치를 의미합니다.
최신 리눅스 배포판에서는 종종 263-1 값이 설정되어 있으며, 이는 사실상 커널에서 제한을 걸지 않은 상태입니다.


3. 사용자/프로세스 단위 FD 확인

$ ulimit -n

 

출력 예시:

1024

이는 현재 로그인한 사용자 세션이 사용할 수 있는 FD 최대 개수입니다.


4. 추가 확인 포인트

systemd 기반 서비스는 서비스 단에서 별도로 제한이 걸려 있을 수 있습니다.

$ systemctl show <서비스명> | grep LimitNOFILE

 

예시:

LimitNOFILE=100000

5. 요약

  • file-nr : 커널 레벨 FD 사용량 / 총량 확인
  • fs.file-max : 커널의 FD 전역 최대치
  • ulimit -n : 사용자/프로세스 단위 FD 제한
  • LimitNOFILE : systemd 서비스 단위 FD 제한
728x90
반응형