2018년 2월 6일 화요일

Minsky 등 Linux on POWER 서버에서의 nmon을 이용한 자원 모니터링

nmon은 실시간 모니터링은 물론, CSV 포맷의 log를 남겨 장단시간에 걸친 사용률 추이를 볼 수 있는 유용한 freeware입니다.  원래 AIX용으로 개발되었으나, 지금은 Linux on POWER는 물론 Linux on x86도 지원됩니다.

nmon binary는 아래 site에서 download 받으실 수 있습니다.

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

위 site에서, IBM Minsky 또는 AC922인 경우는 nmon16g_power.tar.gz를 download 받으시면 됩니다.  이 속에는 Ubuntu와 SuSE, Redhat을 위해 compile된 binary들이 각각 들어있습니다.

nmon16g_power_ubuntu1604
nmon16g_power_sles122
nmon16f_power_rhel73LE

윗 파일을 PC에서 download 받아 Minsky 또는 AC922 서버에 upload하거나, 만약 서버가 internet에 연결되어 있다면 다음과 같이 직접 download 받으시면 됩니다.

u0017649@sys-91436:~$ wget http://sourceforge.net/projects/nmon/files/nmon16g_power.tar.gz

이 중에서 원하는 파일을 풀어냅니다.  가령 Minsky인 경우 Ubuntu일테니 다음과 같이 Ubuntu용 binary만 골라 풀어냅니다.

u0017649@sys-91436:~$ tar -zxvf nmon16g_power.tar.gz nmon16g_power_ubuntu1604
nmon16g_power_ubuntu1604

이제 이 파일에 실행 permission을 준 뒤, /usr/bin/nmon으로 copy를 하시면 됩니다.  꼭 /usr/bin 밑이 아니어도 상관없습니다.

u0017649@sys-91436:~$ chmod a+x nmon16g_power_ubuntu1604
u0017649@sys-91436:~$ sudo cp nmon16g_power_ubuntu1604 /usr/bin/nmon

실시간 모니터링을 위한 실행은 그냥 nmon이라고 치시면 됩니다.  이어서 키워드 문자를 입력하여 보고 싶은 패널을 보면 되는데, 기본적으로는 l (long term usage)와 t (top process), m (memory)과 d (disk) 등을 많이 사용합니다.   c (CPU usage)를 치면 SMT의 많은 logical HW thread가 다 display되므로 c는 잘 안 씁니다.




일정한 시간에 걸친 시스템 자원 사용률 모니터링을 위해 nmon을 사용하려면 다음과 같이 합니다.

u0017649@sys-91436:~$ nmon -f -s 120 -c 720 -m /tmp/nmon

위에서 -f는 csv의 spreadsheet 형태로 log를 받으라는 뜻이고, -s는 초 단위 간격, 그리고 -c는 그 간격으로 몇 번 받으라는 count입니다.  즉, 2분 단위로 720번, 즉 24시간을 받게 됩니다.  -m은 log를 떨어뜨릴 directory를 지정하는 옵션입니다.

여기서는 아래와 같이 떨군 경우의 log를 보겠습니다.
u0017649@sys-91436:~$ nmon -f -s 2 -c 720 -m /tmp/nmon

u0017649@sys-91436:~$ ls -l /tmp/nmon
-rw-rw-r-- 1 u0017649 u0017649  87917 Feb  5 20:45 sys-91436_180205_2042.nmon

이것을 PC로 download 받으신 뒤, 아래 site에서 nmon analyzer를 PC에 download 받으십시요.

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

이 nmon analyzer는 Excel macro입니다.  이걸 열어보면 아래와 같이 버튼이 보이는데, 이걸 클릭한 뒤 아까 download 받은 *.nmon 파일을 선택하면 됩니다.  그러면 자동으로 로그를 분석하여 각종 그래프가 그려진 *.xls를 만들어 줍니다.





CPU나 disk는 직관적으로 보실 수 있습니다만, memory는 거의 언제나 free memory가 부족한 상태로 보일 겁니다.  이는 다른 OS들과 마찬가지로 Linux도 남는 free memory를 항상 file cache로 사용하기 때문입니다.  그러니 저 뒤쪽의 'VM' tab에 있는 'Swap space activity'가 0으로 유지된다면 memory 문제는 없다고 생각하셔도 됩니다.





단, 아직까지는 nmon에서 GPU에 대한 모니터링을 정식으로 지원하지는 않습니다.   일부 버전에서는 nvidia-smi에서 가져오는 정보를 이용하여 GPU usage를 display 해주기도 하는데 (a 옵션), 위와 같이 log를 받는 옵션은 없고, 또 nvidia-smi에서 보여주는 정보와 좀 다른 수치를 보여주는 등 아직 문제가 좀 있습니다.   현재 최신 nmon 버전에서는 이 GPU 모니터링 옵션은 빠져 있습니다.  GPU 자원에 대한 모니터링은 아직까지는 nvidia-smi를 이용하셔야 합니다.

댓글 1개: