기술 정보
home
채널 소개
home

프로세스 별 메모리 사용률 큰 경우

문서 유형
장애 해결
분야
모니터링/점검
키워드
memory
process
적용 제품 버전
5SP1FS01
5SP1FS02
5SP1FS03
5SP1FS04
5SP1FS06
6FS01
6FS02
6FS03
6FS04
6FS05
6FS06
6FS07
6FS07PS
7FS01
7FS02
7FS02PS
1 more property

현상

ps aux나 top으로 모니터링 시, 실제 메모리 사용량보다 크게 나오는 경우가 있습니다.
예시) 각 메모리의 VSZ나 RSS가 커서 전부 합치면 서버 메모리의 몇배가 되는 정확하지 않는 값이 출력
[tibero1@prolinux1 sql]$ ps aux --sort -rss USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND tibero1 1766 0.0 1.9 3103216 73776 pts/0 Sl 00:01 0:01 tbsvr_FGWP000 -t NORMAL -SVR_SID DB1_node1 (중략) tibero1 1768 0.0 0.6 2495088 23208 pts/0 Sl 00:01 0:00 tbsvr_PEWP000 -t NORMAL -SVR_SID DB1_node1 tibero1 1773 0.0 0.6 2495088 23052 pts/0 Sl 00:01 0:00 tbsvr_PEWP005 -t NORMAL -SVR_SID DB1_node1 tibero1 1769 0.0 0.6 2495088 23008 pts/0 Sl 00:01 0:00 tbsvr_PEWP001 -t NORMAL -SVR_SID DB1_node1 tibero1 1772 0.0 0.6 2495088 23000 pts/0 Sl 00:01 0:00 tbsvr_PEWP004 -t NORMAL -SVR_SID DB1_node1
SQL
복사

원인

Tibero는 공유 메모리를 사용하므로 ps나 top 등 에서 메모리 사용 시, 공유 메모리 영역을 같이 합쳐서 출력됩니다. 이로 인해 실제 사용된 메모리 뿐만 아니라 공유 메모리까지 합산된 메모리 사용 크기가 나오게 됩니다.

해결

linux , solaris 환경 내에서는 pmap / aix : procmap 을 통해 실제 메모리 사용 분포 및 공유 메모리를 확인 할 수 있습니다.
메모리 확인 예시
[tibero1@prolinux1 sql]$ pmap -x 1766 1766: tbsvr_FGWP000 -t NORMAL -SVR_SID DB1_node1 Address Kbytes RSS Dirty Mode Mapping 0000000000400000 152244 26396 0 r-x-- tbsvr 0000000009aad000 220 216 4 r---- tbsvr 0000000009ae4000 3160 2604 96 rw--- tbsvr 0000000009dfa000 884 196 196 rw--- [ anon ] (중략) 00007fbfeeff7000 32 0 0 ----- zero (중략) 00007fbff4197000 2097152 32576 32576 rw-s- [ shmid=0x0 ] 00007fc074197000 1776 1424 0 r-x-- libc-2.28.so (중략) ffffffffff600000 4 0 0 r-x-- [ anon ] ---------------- ------- ------- ------- total kB 3103220 75028 42332
SQL
복사
00007fbff4197000 주소의 2097152 size는 shmid=0x0 의 공유 메모리 입니다. Total에서 해당 값을 뺀 나머지가 실제로 프로세스가 별도 사용 중인 공간입니다.
또한 공유메모리가 실제로 id 0 으로 있고(shmid), 사이즈가 동일 (bytes=2147483648 -> 2097152 KB) 및 15개 프로세스가 공유 중(nattch 15) 임을 아래와 같이 확인할 수 있습니다.
[tibero1@prolinux1 sql]$ ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x1553710c 0 tibero1 640 2147483648 15
SQL
복사
주의
티맥스티베로 기술지원의 가이드를 통해 수행합니다.