기타 공부/Linux

Linux 모니터링 시 사용 명령어 10가지

hee_story 2022. 10. 25. 18:37

1. uptime 

- 평균 부하 확인

- 구동하고자 하는 task-프로세스 개수 확인

- CPU, I/O 포함

- 1/5/15분 평균 값) 

 

 

2. dmesg | tail

- 최근 10 개 시스템 메시지 확인 

 

 

3. vmstat 1

- 초 간 가상 메모리 stat; 첫번째 라인은 부팅 후 평균 값 나타내니 무시할 것

     - r : CPU 구동 중 프로세스 수; I/O 미포함; CPU 값보다 클 경우 포화임을 나타냄

     - free : free 메모리(kb)

     - si,so :  Swap-ins & swap-outs; 0가 아닐 경우 메모리 부족

     - us, sy, id, wa, st : CPU 시간를 분리하여 나타낸 부분 (user time, system time (kernel), idle, wait I/O, stolen time)

 

 

4. mpstat -P ALL 1

- CPU 당 CPU 시간 세분 확인

 

 

5. pidstat 1

- top의 프로세스 별 확인

**위 예시에서는 java가 1591% CPU를 사용한다고 나타남. 이럴 경우 거의 16 CPU 사용 중인걸 알 수 있음

 

 

6. iostat -xz 1

- 블록 디바이스(disk) 확인 가능

- 적용된 워크로드, 결과적 성능 확인

- 논리적인 디스크는 100%에 가까울수록 포화상태일 확률이 높으나 백앤드 디스크일 경우 더 많은 사용률 수용 가능

- Read ahead for reads, buffering for writes 등 I/O를 비동기적으로 하게 하여 디스크 부하를 줄일 수 있다

      - r/s, w/s, rkB/s, wkB/s : 디바이스 당, 초 당 전달된 reads, writes, 그리고 read Kbytes, write Kbytes; 워크로드 성격 확인 가능

      - await : 밀리초당 평균 I/O; 어플리케이션에 부하가 있는지 확인 가능

      - avgqu-sz : 디바이스 당 평균 요청; 1보다 클 경우 포화

      - %util : 디바이스 사용률; 60% 이상일 경우 성능 저하(디바이스에 따라 상이)

 

 

7. free -m

- 사이즈가 0과 가까울수록 안좋음. 높은 디스크 I/O와 성능 저하 가능(iostat으로 확인 가능)

      - buffers : 블록디바이스 I/O를 위한 버퍼 캐시

      - cached : 파일 시스템을 위한 페이지 캐시를  

      - -/+ buffers/cache : 캐시를 위한 캐시 메모리

 

 

8. sar -n DEV 1

- 네트워크 인터페이스 throughput 확인(rxkB/s, txkB/s)

 

 

9. sar -n TCP,ETCP 1

- TCP 지표 확인

- 서버 로드 대강 확인 가능

      - active/s : 초당 로컬 실행 TCP 연결 (ex. via connect()); 신규 연결 개수

      - passive/s : 초당 리모트 실행 TPC 연결 (ex. via accept()); 다운스트림 연결 개수

      - retrans/s : 초당 TCP 재전송; 퍼블릭 인터넷 등 unreliable 네트워크 연결일 수 있음; 서버가 트래픽 과부화로 패킷 드롭 중일수도..

 

 

10. top

- 부하 변수 확인

- 확인 어려울 경우 롤링 아웃풋 제공하는 vmstat, pidstat 등 활용

- Ctrl-S(pause), Ctrl-Q (continue)