반응형


참고 사이트 (Reference Site)

  1.MAT (Eclipse Memory Analyzer) 메모리 분석 GUI 툴
    http://www.eclipse.org/mat/downloads.php 

  2. IBM Diagnostic Tool Framework for Java Version 1.5
    http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html  

  3.일본 MAT 적용 참고 사이트   
     http://d.hatena.ne.jp/kakku22/20110910/1315646914 
 


heapdump는 시스템 운영 중 항상 발생할 수 있는 문제이며,

빵빵한 시스템에서는 IBM Heap Analyzer를 사용하여 분석한다

다만,

위와 같은 빵빵한(?) 시스템이 지원되지 않는 환경(Windows 32bit)에서는

분석하는 방법이 없을까 많은 고민을 하였고, 찾다보니 아에 방법이 없지만은 않았다.


1. GUI 툴 다운로드
    - 이클립스 사이트에서 dump 분석을 위한 툴을(MAT) 제공한다.
    - 위의 참고사이트 1번 항목을 방문하면 다운로드 가능하다.

 
     - 다운 받은 파일의 압축을 풀고 해당 디렉토이에 들어가면 MemoryAnlyzer.exe와 MemoryAnalyzer.ini 파일등이 보인다.
     - 32bit 환경에서 최대 할당 가능한 heap 사이즈로 로딩 가능하도록 MemoryAnlyzer.ini 파일을 수정한다.

  -vmargs
 -Xmx1372m
 
2. IBM Heapdump 분석을 위해서는 별도의 plug-in을 추가한다.
   (인터넷 검색하면 많은 내용이 나오지만 위의 DTFJ 파일 방식이 대용량의 힙 덤프 분석에는 최고다..)
   - 2번 사이트 방문하여 다운로드 한다.


위의 클릭을 하면 zip 파일을 받을 수 있다.
   
받은 zip 파일을 MAT 압축을 풀은 디렉토리 내에 DTFJ 폴더를 만들어 그안에 복사하여 놓는다.

3. MAT에 Plug-IN 설치
    - MemoryAnlyzer.exe 더블 클릭하여 MAT 를 실행함.
    - 실행화면
     

 
     -  Help -> Install New Software... 실행


   - Add.. 를 크릭하여 설치 가능한 소프트웨어를 추가함.


     - Name에는 명칭을 적고, Location 부분은 우측의 Archive를 클릭하여 다운받은 dtfj-updatesite.zip를 직접 지정함

 
    - Check 후 Next를 클릭 -> Next

 
 - 라이센스 동의 후 Finish 클릭

 

- local 설치이다 보니 보안 땜시 한번더 묻는거임... ok 살포시 눌러줌

 
 - 다시 시작함(Restart Now를 눌러)

 
  - File -> Open Heap Dump... 를 눌러 IBM Heapdump 파일을 선택하여 분석함..

 
나머지 분석과 관련된 상세한 사항은 인터넷 검색 ㄱㄱ 
반응형
반응형


- ibm 자바 다운로드 주소

http://www.ibm.com/developerworks/java/jdk/aix/service.html#java142
반응형

'UTILITY' 카테고리의 다른 글

PSI Probe  (0) 2012.01.18
Registry Booster 2012  (3) 2011.12.16
FogBugZ  (0) 2011.11.17
큐베이스 5 설치  (0) 2011.09.15
handone new 핸드온 새로운 ..  (0) 2011.08.19
반응형


OS : IBM AIX 5.3 64 bit


프로젝트 홈페이지 : http://www.rootkit.nl/projects/rootkit_hunter.html
소스 다운로드 : http://sourceforge.net/projects/rkhunter/

이글을 쓰는 시점에 rootkit hunter 은 1.3.8 까지 나와있었다.

어느날 AIX 시스템내에 뭔가 불순한(?) 움직이 포착되었다...

뭐... 대부분 AIX 시스템 내부로 구축할 정도면

약간(?)의 규모 이상이라고 생각되며,

차라리 거대한 시스템이라면 방화벽, 네트워크 장비 정책등 훌륭히 갖추어 졌겠지만,

항상 문제는 아주 작지도 아주 크지도 않은 어설픈 시스템에 해당되는 사항이다.

3일동안 열심히 삽질했다...

1.3.8 버젼을 설치하고나선... 안되는것이었다 -_-ㅋ

아래와 같이

> rkhunter -c
Invalid BINDIR configuration option: Invalid directory found: .

업데이트도 해보고 갖은 것을 모두 해봤지만, 실행이 되질 않았따. -_-...

결국은 포기하고 그 이전버젼을 다운로드 받으려고 하는 순간.... 소스포지에서는 1.3.8버젼 밖에 안되는것이었다... 헉 -_-...

그래서 1.3.6을 어렵게 구해서 해보니 잘되었다.... -_-... 내 3일 ㅜㅜ

설치 방법과 절차이다.

1. 시스템 필요 요소
    - 호환되는 시스템이어야 한다.(홈페이지참조) -> 거의 리눅스 계열은 다 된다고 보면 됨..
    - BASH 쉘

2. 사전 준비
    a. BASH 쉘 설치하기
        - www.ibm.com 으로 가서 검색을 열심히 하면 찾을수 있다 -_-... 매번 헷갈린다. 이문서의 제일 위에 있는 bash-3.0-1.aix5.1.ppc.rpm 파일을 다운로드 받아 서버로 전송한다.
        - rpm 으로 되어 있기 때문에
          root로
          rpm -ivh bash-3.0-1.aix5.1.ppc.rpm 명령을 통해 설치하면 끝.... 
          $> bash 입력
          $> echo $SHELL ==> bash가 나오면 정상 설치 완료
     b. lynx or wget 등 설치하기
         - 검색 정보에 대한 데이터베이스를 웹을 통해 가지고 오는데 위의 해당 프로그램들이 설치되어 있지 않으면
           정보를 update하지 못한다.
         - rpm파일로 되어 있기 때문에 위의 a의 내용 참고
     c. rkhunter-1.3.6.tar.gz 파일을 설치하기(root로 실행)
         - 서버로 upload 로드 뒤
         - gzip 명령을 통해 압축을 푼다.
            gzip -d rkhunter-1.3.6.tar.gz
         - tar로 묶여져 있는 파일을 푼다.
            tar xvf rkhunter-1.3.6.tar
         - 설치하기
            위의 tar를 풀면 rkhunter-1.3.6 디렉토리 안에
            installer.sh 파일이 존재하며
           다음과 같이 간단히 설치할수 있다.
           $> installer.sh --install
            /usr/local/bin/rkhunter 파일이 생성된다.(기본 설치시...)
 $> installer.sh --install
Checking system for:
 Rootkit Hunter installer files: found
 A web file download command: wget found
Starting installation:
 Checking installation directory "/usr/local": it exists and is writable.
 Checking installation directories:
  Directory /usr/local/share/doc/rkhunter-1.3.6: creating: OK
  Directory /usr/local/share/man/man8: exists and is writable.
  Directory /etc: exists and is writable.
  Directory /usr/local/bin: exists and is writable.
  Directory /usr/local/lib: exists and is writable.
  Directory /var/lib: exists and is writable.
  Directory /usr/local/lib/rkhunter/scripts: creating: OK
  Directory /var/lib/rkhunter/db: creating: OK
  Directory /var/lib/rkhunter/tmp: creating: OK
  Directory /var/lib/rkhunter/db/i18n: creating: OK
 Installing check_modules.pl: OK
 Installing filehashmd5.pl: OK
 Installing filehashsha1.pl: OK
 Installing filehashsha.pl: OK
 Installing stat.pl: OK
 Installing readlink.sh: OK
 Installing backdoorports.dat: OK
 Installing mirrors.dat: OK
 Installing programs_bad.dat: OK
 Installing suspscan.dat: OK
 Installing rkhunter.8: OK
 Installing ACKNOWLEDGMENTS: OK
 Installing CHANGELOG: OK
 Installing FAQ: OK
 Installing LICENSE: OK
 Installing README: OK
 Installing language support files: OK
 Installing rkhunter: OK
 Installing rkhunter.conf: OK
Installation complete

3. 유해 사항을 검색해 보기
  $> /usr/local/bin/rkhunter -c (root로 실행) 명령을 통해 유해사항을 검색가능하며, /var/log/rkhunter.log 파일에 모든 사항이 상세하게 기재된다.

 [ Rootkit Hunter version 1.3.6 ]

Checking system commands...

  Performing 'strings' command checks
    Checking 'strings' command                               [ Warning ]

  Performing 'shared libraries' checks
    Checking for preloading variables                        [ None found ]
    Checking for preloaded libraries                         [ None found ]
    Checking LD_LIBRARY_PATH variable                        [ Not found ]

  Performing file properties checks
    Checking for prerequisites                               [ Warning ]
    /usr/bin/awk                                             [ OK ]
    /usr/bin/basename                                        [ OK ]
    /usr/bin/bash                                            [ OK ]
    /usr/bin/cat                                             [ OK ]
    /usr/bin/chmod                                           [ OK ]
    /usr/bin/chown                                           [ OK ]
    /usr/bin/cp                                              [ OK ]
    /usr/bin/csh                                             [ OK ]
    /usr/bin/cut                                             [ OK ]
    /usr/bin/date                                            [ OK ]
    /usr/bin/df                                              [ OK ]
    /usr/bin/diff                                            [ OK ]
    /usr/bin/dirname                                         [ OK ]
    /usr/bin/du                                              [ OK ]
    /usr/bin/echo                                            [ OK ]
    /usr/bin/ed                                              [ OK ]
    /usr/bin/egrep                                           [ OK ]

생략 .............

System checks summary
=====================

File properties checks...
    Required commands check failed
    Files checked: 95
    Suspect files: 7

Rootkit checks...
    Rootkits checked : 234
    Possible rootkits: 1
    Rootkit names    : Possible rootkit component

Applications checks...
    Applications checked: 3
    Suspect applications: 2

The system checks took: 40 minutes and 18 seconds

All results have been written to the log file (/var/log/rkhunter.log)

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)



반응형

'OS > AIX' 카테고리의 다른 글

AIX 서버 시간 설정 하기  (0) 2012.08.06
AIX VNC 설정하기  (2) 2012.07.26
IBM JVM -Xloratio 옵션  (0) 2011.03.03
날짜 관련 얻기  (0) 2011.03.02
AIX 5.3 OPENSSH INSTALL  (0) 2011.02.16
반응형

IBM JVM의 heap 영역에는 LOA(Large Object Area)라는 영역이 있다.

기본적으로 전체 Heap size의 5%를 차지하는데, AP의 특성상 비교적 큰 객체(5MB이상)의 생성이

빈번한 경우에는 이 영역을 늘려줄 필요가 있다.

-Xloratio0.3

위와 같이 옵션을 적용하면 Java Heap 메모리중 LOA영역을 30% 잡게 된다.

위 옵션적용에 따른 GC로그 형태 변화는 다음과 같다.

1) 일반적으로 Heap 메모리만 설정한 경우
      위에서와 같이 전체 Java Heap 메모리와 free Heap 메모리만 나옵니다.
 jeusic@dtotch1[TEST] /sw/jeusic> java -verbose:gc -Xms64m -Xmx64m  a            
[ JVMST080: verbosegc is enabled ]
[ JVMST082: -verbose:gc output will be written to stderr ]
  <GC[0]: Expanded System Heap by 65536 bytes
  <GC(1): GC cycle started Tue Jun 12 10:32:59 2007
  <GC(1): freed 269696 bytes, 98% free (66059528/67041792), in 14 ms>
  <GC(1): mark: 7 ms, sweep: 1 ms, compact: 6 ms>
  <GC(1): refs: soft 0 (age >= 32), weak 0, final 1, phantom 0>
  <GC(1): moved 4571 objects, 489408 bytes, reason=4>
 
 
 
  2) -Xratio 옵션 적용한 경우
      위에서와 같이 전체 Java Heap 메모리와 free Heap 메모리이외에 LOA영역이 별도로 나옵니다.
 
jeusic@dtotch1[TEST] /sw/jeusic> java -verbose:gc -Xms64m -Xmx64m  -Xloratio0.2 a
[ JVMST080: verbosegc is enabled ]
[ JVMST082: -verbose:gc output will be written to stderr ]
  <GC[0]: Expanded System Heap by 65536 bytes
  <GC(1): GC cycle started Tue Jun 12 10:33:35 2007
  <GC(1): heap layout: (52651168/53633432) (13408360/13408360)  /0><== LOA 영역 별도 표시
  <GC(1): freed 269696 bytes, 98% free (66059528/67041792), in 14 ms>
  <GC(1): mark: 6 ms, sweep: 2 ms, compact: 6 ms>
  <GC(1): refs: soft 0 (age >= 32), weak 0, final 1, phantom 0>
  <GC(1): moved 4571 objects, 489408 bytes, reason=4>

Heap 메모리가 충분한대도 GC가 빈번하게 일어나고 있고,
또한 비교적 큰 객체(5MB정도)를 생성할때 빈번하게 Allocation Failure 가 일어나는 경우에
-Xratio 옵션을 적용하면 문제를 해결 할 수 있다.

 

 

출처 : http://ijbaek.tistory.com

반응형

'OS > AIX' 카테고리의 다른 글

AIX VNC 설정하기  (2) 2012.07.26
AIX 칩입 확인 해보자 !  (0) 2011.03.23
날짜 관련 얻기  (0) 2011.03.02
AIX 5.3 OPENSSH INSTALL  (0) 2011.02.16
bff 파일 설치 (AIX)  (0) 2010.12.08
반응형
반응형

'OS > AIX' 카테고리의 다른 글

AIX 5.3 OPENSSH INSTALL  (0) 2011.02.16
bff 파일 설치 (AIX)  (0) 2010.12.08
AIX 5.3에서 Tomcat 설치 및 기본 홈 디렉토리 변경  (1) 2010.12.07
AIX 시스템 점검 쉘  (0) 2010.06.04
Xmanager on AIX 5.3  (1) 2010.02.09

+ Recent posts