본문 바로가기

OS

CPU 사용률 간단하게 모니터링(vmstat)

728x90
반응형

CPU사용률은 애플리케이션의 성능을 나타내는 지표입니다.

성능을 개선하기 위해서는 기본툴을 사용할 줄 알아야 하는데요.

전체 호스트의 수준에서 수치가 나오지만 간단하고 빠르게 확인하기 좋은 방법을 소개해드리겠습니다.

 

 

vmstat 1


vmstat 1은 스냅샷을 1초마다 찍어 결과를 표시합니다.

(cntl + C로 멈출때까지)

  • proc 섹션: 실행가능한(r) 프로세스, 블로킹된(b) 프로세스 개수
  • memory 섹션: 스왑 메모리(swpd), 미사용메모리(free), 버퍼로 사용한 메모리(buff), 캐시로 사용한 메모리(cache)
  • swap섹션 : 디스크로 교체되어 들어간(스왑-인) 메모리(si), 디스크에서 교체되어 빠져나온 (스왑-아웃) 메모리(so)
  • io섹션 : 블록-인(bi), 블록-아웃(bo)개수는 각각 블록(I/O)장치에서 받은 512바이트 블록, 블록장치로 보낸 512바이트 블록 개수
  • system섹셕 : 인터럽트(in) 및 초당 컨텍스트 교환(cs)횟수
  • cpu섹션 : CPU사용률, 유저시간(us), 커널시간(sy), 유휴시간(id), 대기시간(wa), 도둑맞은 시간(st - 가상머신에 할애된 시간)

튜닝이 잘된 프로그램은 CPU를 최대한 활용합니다.

CPU를 활용하지 않았다면 락때문에 발생한 컨텍스트 교환때문인지 I/O경합으로 블로킹이 발생했는지 확인해야 합니다.

CPU사용률이 100%에 못갔는데 컨텍스트 교환 비율이 높으면 I/O블로킹 혹은 스레드락 경합이 벌어졌을 수도 있습니다.

728x90
반응형