FD(File Descriptor)란?
컴퓨터 프로그래밍 분야에서 파일 서술자(file descriptor) 또는 파일 기술자는 특정한 파일에 접근하기 위한 추상적인 키이다. 이 용어는 일반적으로 POSIX 운영 체제에 쓰인다. 마이크로소프트 윈도우와 C 표준 입출력 라이브러리 환경에서 "파일 핸들"(file handle)이라는 말이 선호되지만 후자의 경우 기술적으로 다른 객체이다.
참고 : 위키백과
FD를 확인하는 방법
FD를 확인하는 방법으로 두가지를 소개합니다.
예시로 apache2 프로세스를 이용하여 확인하는 방법을 보겠습니다.
lsof 명령어 사용하기
lsof는 list open files을 뜻하는 명령어입니다. 열려있는 모든 파일과, 그 파일들을 열고 있는 프로세스들의 목록을 출력하는데 사용합니다.
위에서 얻은 apache2의 process id(pid)를 가지고 명령어를 입력해보겠습니다.
아래 스크린샷과 같이 엄청 긴 내용들이 작성되는 걸 볼 수 있습니다. FD를 보면 실제 폴더로 FD를 연 부분은 0r 1w 2w 등과 같이 마지막 부분입니다.
숫자 뒤의 문자는 아래와 같은 의미를 지니고 있습니다.
r | read access |
w | write access |
u | read and write access |
/proc/[pid]/fd 폴더 확인하기
ls -l 명령어로 아래와 같이 출력된 내용을 볼 수 있습니다. lsof 명령어에서 나온 0r 1w 2w 3u와 같은 값도 여기 첫번째 부분의 권한을 보면 알 수 있게됩니다.
프로세스별 FD 기본값 확인해보기
하나의 프로세스에서 너무 많은 fd를 사용하면 문제가 될 수 있습니다. max 값은 엄청 큰 값이지만, 기본적으로 설정된 디폴트 값을 확인해보면 좋습니다.
ulimit -aS 명령어를 치면, open files라는 이라는 값이 나옵니다. 아래에서는 1024로 설정되어 있으므로 1024개를 넘지 않도록 개발을 해야할 것 같습니다.
'다양한 TIP' 카테고리의 다른 글
운전면허 갱신(적성검사 및 인터넷 접수) - 온라인 운영시간 (0) | 2022.11.25 |
---|---|
WPX 결제 Credit Card 에러 A general error has occurred with Cardinal. See description for more information. (0) | 2022.11.23 |
HTTP Startline 문법 확인 (0) | 2022.11.03 |
댓글