inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 성능 분석 시작하기

열두 번째 강의 - netstat 명령어 살펴보기 (2)

안녕하세요 netstat 2번째에서 궁금한게 있습니다.

332

김 재연

작성한 질문수 2

0

열두번째 강의 netstat(2)dptj 5:56부근에 close_wait는 애플리케이션 이상 동작이라고 설명을 해주셨는데, 이 부분이 잘 이해되지 않습니다.

client로 부터 fin 패킷을 받아서 close_wait이 되는걸로 이해했는데, 이게 왜 이상동작일까요?

linux

답변 1

1

강진우

네. FIN 패킷을 받아서 CLOSE_WAIT 상태가 되고 CLOSE로 넘어가야 하는게 정상 입니다. 그리고 그 과정은 아주 빠르게 이뤄지기 때문에 실제로 netstat 명령을 입력 하면 거의 볼 수가 없어야 합니다.

그래서 CLOSE_WAIT 상태가 netstat 명령에 보인다는 건 모종의 이유로 소켓을 닫지 못하고 CLOSE상태로 변경되지 않는다는 의미이고, 이 때의 원인이 애플리케이션 이상 동작일 경우가 가장 큽니다.

https://tech.kakao.com/2016/04/21/closewait-timewait/ 문서를 보시면 CLOSE_WAIT를 재현하는 소스 코드가 있으니 그걸 보시면 훨씬 더 잘 이해하실 수 있을 겁니다. FIN 패킷을 받고 CLOSE_WAIT 상태가 된 후 소켓을 닫고 CLOSE가 되어야 하는데 그 중간에 sleep() 이 있어서 프로세스가 잠자기 상태로 들어가고 이로 인해 소켓을 닫지 못하게 되는거죠.

그래서 CLOSE_WAIT가 많다는 건 애플리케이션의 이상 동작으로 네트워크 소켓을 제대로 닫지 못하고 있다는 것을 의미 합니다.

APM 보안 셋팅

0

5

0

"도커 이미지 생성" 18:59부분에 텍스트 파일로 정리 된거는 어디서 볼수 있나요?

0

4

0

ls -al /var/log/nginx

0

35

2

이번강의

0

31

2

버추얼박스 오류

0

38

1

세월이 흘러 문제가 바뀐 것 같습니다.

0

27

2

수업자료는 없나요?

0

14

1

실습환경

0

27

2

키페어 설정

0

38

2

vi 줄 정렬하신 방법에 대해 문의드립니다.

0

35

1

말이 좀 헷갈립니다 강님

0

37

2

질문답변 부탁드립니다

0

29

1

lscpu -e 옵션과 dmesg -T 옵션이 없습니다.

0

140

1

메모리 관련 문의드립니다.

1

142

1

좀비프로세스,자식프로세스

0

359

1

좀비프로세스 자원 관련 질문입니다

0

236

1

네트워크 소켓 옵션 확인 방법 관련

0

313

1

top 명령어 살펴보기 (2)에서의 좀비 프로세스에 대한 질문입니다.

1

282

1

질문있습니다.

0

234

1

안녕하세요

0

208

1

강사님 안녕하세요.

0

382

1

안녕하세요

0

343

1

로그 수집 모니터링 도구 질문

0

414

1

안녕하세요 네트워크 관련 질문드립니다.

0

567

1