dstat 정리

2020. 4. 28. 23:06IT/Unix

최근 dstat를 사용할 일이 생겨 검색을 해보다가 제대로 설명되어 있는? 페이지가 없는 것 같아 정리한다.

아래 설명하겠지만 dstat --tcp가 netstat에서 어떤 값을 의미하는지를 알아보기 위해서 검색하다가 일일히 하나씩 비교해 보았다.

 

먼저 사용하게 될 옵션은 tcdmglpn --tcp --udp --top-mem --top-oom --top-io 순이다.

참고로 필자는 해당 명령어를 --output "dstat.log"와 함께 사용해 간단한 shell script를 이용, 초당 자원사용률을 체크하기 위해 만들어 이용 중이다.

 

dstat -t는 시간으로 dstat -t 10으로 사용해 10초 간격으로 표시할 수 있으며 현재 date와 time을 표시해준다.

 

dstat -c는 cpu 사용률을 나타내며 각 항목은 다음과 같다.

usr : 사용자 프로세스가 사용중인 cpu

sys : 시스템 프로세스가 사용중인 cpu

idl : 유휴 cpu

wai : wating process 수

hiq : hw interrupt 수

siq : sw interrupt 수

 

dstat -d는 디스크 상태를 확인한다.

read : 디스크의 읽기 수

writ : 디스크의 쓰기 수

 

dstat -m은 메모리 상태를 확인한다.

used : 사용된 메모리

buff : 버퍼에 사용된 메모리

cach : 캐쉬에 사용된 메모리

free : 여유 메모리

 

dstat -g는 페이징을 확인한다.

in : page in 수

out : page out 수

 

dstat -l은 load avg(평균 부하량)을 확인한다.

1, 5, 15 : 1분, 5분, 15분의 평균 부하량

 

dstat -p는 프로세스 상태를 확인한다.

run : 실행중인 prcoess수

blk : block된 process수

new : 새로운 자식(spawned) process수

 

dstat -n은 네트워크 상태를 확인한다.

recv : 입력받은 크기

send : 보낸 크기

 

dstat --tcp는 netstat의 Proto가 tcp인 것 중 다음을 의미한다. (일일히 비교해 보았으니 정확함)

lis : listen, 열림 요청 중인 포트 수 = netstat의 상태가 LISTEN인 것

act : established, 연결 중인 포트 수 = netstat의 상태가 ESTABLISHED인 것

syn : syn, 응답을 받은 포트 수 = netstat의 상태가 SYN_RECV인 것

tim : time_wait, 통신이 끝나고 close 대기중인 것으로 load avg에 영향을 줌 = netstat의 상태가 TIME_WAIT인 것

clo : close, 끊어진 연결 수 = netstat의 상태가 FIN_WAIT2인 것

 

dstat --tcp는 netstat의 Proto가 udp인 것 중 다음을 의미한다. (일일히 비교해 보았으니 정확함)

lis : listen, 열림 요청 중인 포트 수 = netstat의 상태가 LISTEN인 것

act : established, 연결 중인 포트 수 = netstat의 상태가 ESTABLISHED인 것

 

dstat --top-mem : 메모리를 사용중인 process 중 가장 높은 프로세스 명과 사용량

dstat --top-oom : out of memory인 프로세스 명과 kill score

dstat --top-io : io가 가장 많은 프로세스 병과 read, write