728x90

https://jaehhhk.tistory.com/33

 

Nmon (1)_ 설치 후 이용해보기

이번 포스팅에서는 시스템 성능 모니터링 도구인 Nmon을 설치해보고 이용해보기로 하겠다. 총 2부작으로 이루어질 예정이고, 두 번째 포스팅에서는 실험 환경을 가정해 Nmon Visualizer을 통해 결과

jaehhhk.tistory.com

 

이전 포스팅에서는 Nmon을 설치하고 CPU, Memory, Disk, Network 자원의 모니터링을 수행해보는 방법을 설명했다.

 

이번에는 Nmon의 마지막 시리즈로 Nmon Visualizer를 이용해 시각화해보는 방법에 대해 실험 환경을 가정해 설명해보도록 하겠다.

 


Nmon Visualizer 설치

설치 링크

https://github.com/nmonvisualizer/nmonvisualizer/releases

 

Releases · nmonvisualizer/nmonvisualizer

A Java GUI tool for analyzing NMON and other system stats files - nmonvisualizer/nmonvisualizer

github.com

 

우선 위 링크에서 .jar 파일을 다운로드 받아준다.

 

이후 java를 설치해주어야 한다. 이미 깔려있는 경우는 넘어가도록 하자.

// 설치 가능 리스트 업데이트
apt-get update

// JDK install 해주기
sudo apt-get install openjdk-8-jdk

// java 버전 체크
java -version

 

 

이후 다운받은 Nmon Visualizer 디렉터리로 이동해 jar 파일을 실행해주도록 한다.

java -jar NMONVisualizer_2021-04-04.jar

 

실행을 완료하면 위와 같이 Nmon Visualizer 화면이 뜰 것이다.

이 화면이 뜨면 정상적으로 설치된 것이다.

 

 

실험 환경 정의

Nmon Visualizer을 정상적으로 설치해주었다면, 시각화를 해보기 전 어떤 실험을 할 것인지 환경을 정의해볼 것이다.

 

유튜브에 들어가 런타임 2시간 정도 되는 영상 5개를 동시에 재생한 후 각 시스템 지표들의 변화 양상을 알아본다. 

 

 

 

Nmon 명령어 활용하기

실험 환경까지 정의 완료했다면, 이제는 Nmon 명령어를 이용하여 시각화를 진행해보도록 하겠다.

우선 Nmon 명령어는 아래와 같은 양식으로 이용한다.

// nmon이라는 디렉토리 만듦
mkdir nmon


// 수집 결과를 파일로 저장하는데, 1초에 한번 씩 60번. 즉 1분동안 1초간격으로 데이터수집
// 이때 결과 피일은 nmon이라는 디렉토리에 저장
nmon -f -s 1 -c 60 -m nmon

 

Nmon 명령어 옵션 설명은 아래와 같다.

  • -f  : 파일로 저장
  • -s : Seconds, 몇초 주기로 데이터를 수집할 것인지 설정
  • -c : Number, 지정한 시간동안 몇 번 데이터를 수집할 것인지 설정
  • -m : 파일을 저장할 디렉터리 명

 

명령어를 수행해준 후 지정한 시간 후에 

아까 만들어준 nmon 디렉터리에 가보면 결과 파일이 성공적으로 생성된 것을 볼 수 있다.

 

참고로, 나는 현재 VMware 가상머신에서 실험을 진행해서 아래와 같이 GUI 버전으로 파일을 확인한다.

 

 


결과 확인

이제부터 해당 파일에 들어가 각 자원별 양상을 모니터링한 후 시각화한 결과를 보도록 하겠다.

 

1. CPU

 

가로축은 시간, 세로축은 이용률(%)이다.

 

CPU는 동영상을 재생하기 시작한 9초 지점부터 이용률이 급격히 증가하는 것을 볼 수 있다.

이후 29초 부근에 이용률이 급격히 감소하다가 다시 급격히 증가한다.

 

이는 중간 유튜브 광고의 영향이지 않을까? 싶다.

 

각 지표별 설명은 아래와 같다.

  • %user : application level에서 실행 중일 때 CPU 사용률
  • %sys : 커널에서 실행 중일 때의 CPU 사용률
  • %wait : 디스크의 입출력이 늦어져 해당 프로세스가 idle 상태가 되는 경우의 비율
  • %steal : virtual CPU에 의해 뜻하지 않는 대기 시간이 생기게 되는 비율
  • %busy : %Busy CPU = ("Total CPU time" from Time Model Statistics) / "BUSY_TIME" from Operating System Statistics)

 

2. Memory

 

memfree 지표를 보면 동영상을 재생하기 시작한 8초 부근부터 free 지표가 낮아졌다가, 동영상을 종료 시킨 50초 부근에서 급격히 상승하는 것을 볼 수 있다.

 

각 지표별 설명은 아래와 같다.

  • memfree : free 상태에서 메모리 크기
  • avail : 스왑 없이 새로운 프로세스를 시작할 때 사용할 수 있는 메모리 양
  • cached : 페이지 캐시의 메모리 크기
  • active : 사용 중인 메모리에서 최근에 사용된 메모리 정보 -> 메모리 부족으로 여유 메모리를 확보하고자 할 때 후순위
  • inactive : 사용 중인 메모리에서 최근에 사용되지 않은 메모리의 크기
  • free : total에서 used와 buff/cahce를 뺀 실제 사용 가능한 여유 있는 메모리량 / 사용되지 않은 스왑 크기

 

3. Disk

 

디스크 장비도 마찬가지로 전반적으로 동영상 재생을 시작한 8초 부근부터 %busy가 늘어난 것을 볼 수 있다.

  • %busy : 특정 단위시간(deltams)당 디스크 I/O 처리 시간의 비율

 


 

이렇게 해서 Nmon 시리즈는 마무리하도록 하겠다.

 

다음 포스팅은 아마 시스템 모니터링 툴 중 남은 Sysstat이 되지 않을까? 싶다.

728x90

+ Recent posts