Profile picture

[Linux] watch를 이용한 linux 시스템 모니터링

JaehyoJJAng2023년 08월 02일

◾️ watch

watch는 원하는 명령어의 결과를 원하는 시간(초) 주기로 refresh 하여 결과를 보여주는 명령어이다.

시스템의 자원 사용량을 모니터링 하거나, 특정 명령어를 반복적으로 입력하여 결과를 확인해야할 때 매우 유용하게 사용할 수 있다.


▪️ 사용법

watch [-d] [-n seconds] 'command'
  • -d: 이전 출력결과와 변경된 부분을 표시해주는 기능
  • -n: 입력한 명령어의 결과를 원하는 초단위 간격으로 출력해주는 기능 (default: 2초)

◾️ 예제

1. 시스템의 uptime 값을 화면에 출력

$ watch uptime

command에 띄어쓰기가 들어갈 경우 ''으로 묶어줌. uptime 값을 5초 간격으로 화면에 계속 출력

$ watch -d -n 5 'cat /proc/uptime'

2. 10초 간격으로 iostat 모니터링

$ watch -n 10 iostat

3. 5초 간격으로 vmstat 모니터링

$ watch -n 5 vmstat

4. 1초 간격으로 apache 프로세스 모니터링

$ watch -d -n 1 'ps -ef | grep httpd | grep -v grep'

5. 여러가지 명령 조합

  • w 명령어를 통한 현재 접속자, loadaverage, uptime 확인
  • df 명령어를 통한 디스크 사용량 감시
  • free 명령어를 통한 memory 사용량 감시
$ watch -d 'w; echo; df -h; echo; free -m'

6. k8s pod describe 모니터링

$ watch "kubectl describe pod pod-readiness-exec1 | grep -A20 Events"

Loading script...