ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IBM AIX 메모리 부하에 의한 프로세스 확인하는 방법
    System of Infra/Unix System 2021. 7. 8. 21:18
    반응형

    AIX로고이미지

    IBM AIX 메모리 부하에 의한 프로세스 확인하는 방법

    #설명#

    comp + noncomp의 합계로 항상 100 이상으로 사용이 가능하게 설계가 되어 있음.(아키텍처 설계)

    - comp(어플리케이션에서 동작하는 영역, cpu에서 사용하는 영역)

    - non-comp(파일캐쉬 영역) -> AIX에서는 OS에서 메모리가 부족할 경우 Non-comp의 영역을 가져다가 쓰기 때문에 os에서 사용하는 영역)

    # svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
    
    [test_svr01:root]/>svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
    -------------------------------------------------------------------------------
    Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
    6226380 IBM.ConfigRMd 38951 28508 0 35408 N Y N
    14221622 hagsd 36738 25170 0 31493 N Y N
    15991264 IBM.StorageRM 35396 25531 0 32467 N Y N
    6422998 rmcd 32354 24013 0 31397 N Y N
    16384494 clcomd 30706 20173 0 28454 N Y N
    6881566 IBM.HostRMd 29959 20176 0 29380 N Y N
    7078354 clstrmgr 29927 20164 0 28055 N N N
    10223942 IBM.MgmtDomai 29775 21872 0 29335 N Y N
    17433058 sshd 28814 20164 0 27999 N N N
    8454422 topasrec 28730 20164 0 27968 N N N
    8257798 sshd 28707 20164 0 27895 N N N
    4587932 sendmail 28490 20164 0 28098 N N N
    1835406 rpc.statd 28465 20164 0 28430 N N N
    9240874 IBM.DRMd 28452 20185 0 28407 N Y N
    10551636 IBM.ServiceRM 28331 20181 0 28244 N Y N

    -> 가장 많은 메모리를 사용하는 상위 15개 프로세스를 확인할 때 사용하는 명령어입니다.

    #ps aux | head -1 ; ps aux | sort -rn +3 | head -20
    
    [test_svr01:root]/>ps aux | head -1 ; ps aux | sort -rn +3 | head -20
    USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND
    root 15991264 0.0 1.0 21640 30360 - A May 07 9:47 /opt/rsct/bin/
    root 14221622 0.0 1.0 20060 36060 - A May 07 12:13 /usr/sbin/rsct
    root 6226380 0.0 1.0 33348 44408 - A May 07 1:22 /opt/rsct/bin/
    root 17826144 0.0 0.0 1520 1556 pts/0 A 21:00:32 0:00 ps aux
    root 17433058 0.0 0.0 2044 4460 - A 20:58:47 0:00 sshd: root@pts
    root 16384494 0.0 0.0 2924 3788 - A May 07 7:10 /usr/sbin/clco
    root 14025140 0.0 0.0 448 448 - A May 07 0:00 ahaqueue
    root 13369792 0.0 0.0 640 640 - A May 07 5:38 multisite_listener
    root 13238532 0.0 0.0 796 868 - A May 07 0:06 /usr/sbin/gscl
    root 13173112 0.0 0.0 448 448 - A May 07 0:04 multisite_connection_monitor
    root 12517844 0.0 0.0 980 1004 - A May 07 0:33 /usr/sbin/clco
    root 11469184 0.0 0.0 448 448 - A May 07 1:03 pkm_kern_proc
    root 10617170 0.0 0.0 704 704 - A May 07 2:21 dplocal1
    root 10551636 0.0 0.0 2080 2156 - A May 07 0:01 /opt/rsct/bin/
    root 10420550 0.0 0.0 448 448 - A May 07 0:00 URH-END-IO-Handler
    root 10289624 0.0 0.0 3520 3520 - A May 07 0:00 ttddScan
    root 10223942 0.0 0.0 6840 8088 - A May 07 0:08 /opt/rsct/bin/
    root 10158396 0.0 0.0 448 448 - A May 07 0:00 URH-END-IO-Handler
    root 9896248 0.0 0.0 448 448 - A May 07 0:00 ahafs_kproc
    root 9830720 0.0 0.0 4584 4612 - A May 07 0:24 /usr/sbin/cron

    -> tree의 형태로 보여주는 프로세스 우열 순위 형태를 확인할 수 있는 명령어입니다.

    #ipcs -ma
    
    [test_svr1:root]/>ipcs -ma
    IPC status from /dev/mem as of Thu Jul 8 21:01:03 KORST 2021
    T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
    Shared Memory:
    m 3146754 0x0100189a --rw------- root system root system 1 12288 15991264 9371964 13:56:05 20:47:30 13:56:05

    > share의 oracle 프로세스를 사용하고 있는지에 대한 여부를 확인할 수 있는 명령어입니다.

    #svmon -U -O unit=GB
    
    [test_svr01:root]/>svmon -U -O unit=GB
    Unit: GB
    ===============================================================================
    User Inuse Pin Pgsp Virtual
    root 0.38 0.19 0 0.29
    daemon 0.11 0.08 0 0.11
    bin 0 0 0 0
    sys 0 0 0 0
    adm 0 0 0 0
    uucp 0 0 0 0
    guest 0 0 0 0
    nobody 0 0 0 0
    lpd 0 0 0 0
    lp 0 0 0 0
    sshd 0 0 0 0
    invscout 0 0 0 0
    snapp 0 0 0 0
    ipsec 0 0 0 0
    nuucp 0 0 0 0
    srvproxy 0 0 0 0
    smmsp 0 0 0 0
    esaadmin 0 0 0 0

    -> 실제 사용하고 있는 계정별 프로세스에 대한 정보를 확인하는 명령어입니다. (중복 포함)

    #ps -ef | grep -c LOCAL=NO
    
    [test_svr01:root]/>ps -ef | grep -c LOCAL=NO
    0

    -> Oracle 클라이언트 연결 수를 표시함,  얼마나 많은 클라이언트 연결을 가지고 있는 지를 확인 할 수 있고 각 연결은 일부 메모리를 차지하는데, 때로는 메모리 문제가 있을 경우 너무 많은 사용자가 이러한 문제를 확인될 수 있음. (해당 서버는 DB 구성이 되어 있지 않기 때문에 DB 프로세스가 출력되지 않음)

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.