행위

Aix nmon

DB CAFE

thumb_up 추천메뉴 바로가기


AIX 성능 점검


URL : http://blog.naver.com/illi0001?Redirect=Log&logNo=140148119168


1. CPU

. %sys + %user 가 80% 이상이면 병목으로 판단

 - sys : kernel 부분이 수행되는 영역, 프로세스 스케줄링, I/O, drive, network과 관련
 - wait : 디스크 I/O 작업이 끝날 때가지 기다리는 idle time
 - user : 사용자 프로세스, application, database등
 - idle


. 모니터링 명령어

 # sar 1 5    : 1초 5회 평균 CPU 사용율
 # sar -P ALL 1 5    : 각 Processor 별 사용율
 # sar -q 1 5    : 시스템에서 사용한 평균 queue 및 process 표시
   - runq-sz : 수행되고 있는 kernel thread의 평균 수
   - %runocc : queue 가 실행된 시간의 백분율
   - swpq-sz : wait 상태인 kernel thread의 평균 수
   - swpocc : swap 상태인 시간의 백분율
 # vmstat 1 5    : cpu 및 memory 사용율
   - r : 수행중인 kernel thread 수
   - b : swap에 대기중인 kernel thread 수
 # ps aux
   - %CPU : 프로세스가 수행된 후 사용한 CPU 시간을 전체 경과시간으로 나눈 백분율
   - %MEM : 프로세스가 수행될 때 사용한 실 메모리 백분율
   - SZ : 프로세스의 data 영역을 위해 할당된 virtual page size로 1Kbyte 단위
   - RSS : 프로세스의 실 메모리 크기 1Kbyte 단위



2. Memory

. paging space In/Out이 10 이상이거나 page fault가 1000번 이상 발행하면 병목으로 판단 . memory 부족인지 user application이나 file cache에 의한 것인지 고려

 - free : file cache나 프로세스가 사용하고 있지 않는 영역
 - fie cache : 사용 가능한 메모리를 파일 작업시 I/O 성능 향상을 위해 cache로 사용
 - paging(4KB) : 실 메모리가 부족한 경우 발생, 실 메모리에서 사용되지 않았던 영역을 디스크로 옮기고
                 그 부분을 free 영역으로 전환하여 process를 처리
 - page fault : kernel이 필요한 data나 process의 페이지를 실 메모리에서 찾지 못하는 횟수
 - page In : 필요한 page만큼 virtual memory manager(VMM)에 의해 paging space에서 read하는 초당 횟수
             page out 값에 따라 발생하는 real I/O 값
 - page Out : 실 메모리 free 영역 확보를 위해 VMM이 paging space에서 read out하는 초당 회수
              page in 값에 따라 발생하는 real I/O 값
 - page space In : paging 영역에서만 발생하는 page read
 - page space out : paging 영역에서만 발생하는 page out


. 모니터링 명령어

 # vmstat 1 5
   - avm : 프로세스가 수행되는 동안 paging 공간에 할당된 active virtual page
   - fre : VMM이 필요시 사용할 수 있는 memory free list
   - re : page input/output list
   - pi : paging space에서 read in 된 page
   - po : paging space에서 read out 된 page
   - fr : paged freed(page replacement)
   - sr : page-replacement 알고리즘에 따라 page 찾기
   - cy : page-replacement 알고리즘에 따른 clock cycle
 # svmon -G
   - memory : 실 메모리 사용 통계
     . size
     . inuse : 프로세스나 file cache로 사용되는 메모리
     . free
     . pin : pinned 영역에서 사용되는 메모리
     . virtual : virtual 영역에 할당된 메모리
   - pg sapce : paging 영역의 사용 통계
     . size
     . inuse
   - pin : pinned 영역의 사용 통계
     . work : working(프로세스) 메모리 중 pinned 영역에서 사용되는 메모리
     . pers : persistent(file cache) 메모리 중 pinned 영역에서 사용되는 메모리
     . clnt : client(NFS, cd) 메모리 중 pinned 영역에서 사용되는 메모리
   - in use : 실 메모리 사용 통계
     . work
     . pers
     . clnt



3. DISK I/O

. %iowait가 40% 이상이거나 사용자 application에 의해 특정 disk의 %tm_act가 70%를 초과하는 경우 병목으로 판단

 - read : 초당 read 하는 데이터 크기 1Kbyte 단위
 - write
 - busy% : 디스크에 작업한 시간을 경과 시간으로 나눈 백분율

. 모니터링 명령어

 # iostat
   - %tm_act : 물리적 디스크에서 작업한 시간의 백분율
               일반적으로 40%를 초과하게 되면 I/O를 완료하는 시간이 길어져 응답시간이 증가
   - Kbps : 초당 디스크에 이동된 데이터 양 Kbype 단위
   - tps : 초당 디바이스 드라이브 단계에서 해당 물리적 디스크로 I/O를 요청하는 횟수
   - Kb_read : 물리적 디스크에 read한 양 Kbyte 단위
   - Kb_wrtn : 물리적 디스크에 write한 양 Kbypte 단위



4. Network Traffic


. network bandwidth의 30% 이상을 사용하는 경우 병목으로 판단

 - read
 - write


. 모니터링 명령어

 # netstat -m
 # netstat -v
 # netstat -ni



5. topas 명령어를 이용한 모니터링


1) CPU

. Kernel : CPU의 현재 사용량, 70이 넘어가면 점검 필요 . User : 각 프로세스들이 사용하는 CPU 사용량 . Wait : 처리 대기중인 프로세스의 양(10미만) . Idle :


2) Memory

. Real,MB : 메모리의 실제 크기(MByte) . %Comp : 현재 메모리 사용율이며, 높을수록 좋다 . %Noncomp : file cache로 할당된 영역 . %Client : aix의 file system을 위한 영역


3) Paging Space . Size,MB : Paging Memory로 할당된 크기 . %Used : 사용중인 양, 낮을수록 좋다 . %Free


6. nmon을 이용한 모니터링

nmon을 실행한 다음에 cmd라고 치면 cpu memory disk 정보가 나온다.

  1. ./nmon

cmd