[linux] 리눅스 CPU 사용률 확인하기 - top, vmstat, mpstat

리눅스에서 리소스 사용량을 체크, 또는 모니터링 하는 도구는 여러가지가 있습니다. 대표적으로 세 가지 모니터링 도구를 사용합니다.

top

대표적인 리소스 모니터링 도구입니다. CPU 점유율과 함께 메모리 사용량, 프로세스 정보 등을 모니터링 할 수 있습니다. 키보드 "1"을 누르면 코어 단위로 실시간 CPU 점유율을 모니터링 할 수 있습니다.

vmstat

메모리와 디스크 사용량을 모니터링할 수 있는 툴로 핑 테스트처럼 일정 간격으로 모니터링 측정 값을 행단위로 누적 출력할 수 있어 사용율 추세를 파악하는데 좋습니다.

다음 커맨드는 CPU 사용량 측정 결과를 1초 간격으로 한 행씩 스크롤 출력합니다.

$ > vmstat 1

mpstat

기본 내장 툴이 아니기 때문에 패키지를 별도로 설치해야 합니다. CPU 모니터링 전용의 툴로 상세한 CPU 사용 모니터링 정보를 출력할 수 있습니다. 패키지 이름과 사용 커맨드 이름이 다르므로 주의해야 합니다.

sudo apt install sysstat

vmstat과 유사하지만 컬러로 값을 구분해주기 때문에 가독성이 조금 더 좋습니다.

mpstat이 출력하는 정보의 종류는 다음과 같습니다.

  • all : 모든 CPU
  • %usr : 어플리케이션이 사용한 CPU 사용율
  • %nice : nice 우선순위와 함께 어플리케이션 레벨에서 실행된 CPU 사용율
  • %sys : 커널 사용 CPU 사용율
  • %iowait : I/O 처리 대기 CPU 시간 백분율
  • %irq : H/W 인터럽트를 서비스하기 위해 사용된 CPU 사용율
  • %soft : S/W 인터럽트를 서비스하기 위해 사용된 CPU 사용율
  • %steal : 하이퍼바이저가 다른 가상 프로세서에 의해 실행될 때 대기 CPU 시간 사용율
  • %guest : 가상 프로세서가 실행하기 위해 사용되는 CPU 사용율
  • %idle : 유휴 CPU 시간 백분율

다음처럼 옵션을 사용해서 CPU 코어 단위로 모니터링을 할 수 있습니다.

mpstat -P 0