티스토리 뷰

IT 씨블랑/Linux Tips

socket fd 확인

킹오브더참치 2020. 2. 3. 17:45

소켓 통신을 하는 프로그램 에서는 sockfd를 사용하게 되는데 close( ) 를 하지 않아 파일에 접근할 수 없는 상황이 발생할 수 있다.

일반적으로 리눅스에서는 1024개로 지정 되어 있는데 이는 설정 파일에서 변경 가능하다.

 

ulimit -a 명령어 결과

 

현재 운영중인 서버에서 socket 통신 실패 후 계속 재 접속 시도를 하였는데 메인 프로세스의 로그가 남지 않았음을 확인 하였다.

프로세스 재 시작 후 로그가 다시 쌓이는 것을 확인 하였는데, 시스템은 잘 동작 하고 있었고 별 다른 특징이 없는 것을 감안하였을 때 fd 갯수가 의심 스러웠다.

 

테스트 서버에서 비슷한 환경을 구축하고 확인 해 보니 역시나 fd 문제였음

 

확인 방법은

 

1. 프로세스 ID를 확인한다.

2. lsof 명령어로 현재 사용 중인 fd 갯수를 확인 한다.

 

fd 갯수 확인

 

socket 연결 실패 시 close( ) 함수를 호출하도록 수정 후 문제가 해결 되었음

 

'IT 씨블랑 > Linux Tips' 카테고리의 다른 글

Top 메모리 사용 확인  (0) 2018.02.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함