TOP 명령의 결과부분..

shamlock의 이미지

한동안 잘 돌던 프로그램이 꽤 많은 시간이 지나면
pthread_create fail: (errno=ENOMEM) 에러가 발생합니다.
지금 디버깅 중인데

솔라리스 8환경이구요
top 명령을 입력하면 아래와 같이 나오는데요

PID USERNAME THR PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
------------------------------------------------------------------------

테스트 해 보니깐...
어떤 처리를 할때마다 SIZE값과 RES값이 증가합니다.
이 값이 증가하니깐(그래서 메모리가 부족한듯) 발생하는 문제인것 같은데요

정확하게 SIZE와 RES가 무엇을 의미하는지 모르겠습니다.

도움되시는 말 한마디씩 던져주시길.. ^^

codebank의 이미지

man top을 해보세요.
LINUX에서는 SIZE가 없네요. 아마 메모리에 할당된 크기를 나타내는것 같습니다.
LINUX는서는 VIRT라는게 있는게 이것이 SIZE와 가장 유사할겁니다.
설명은 VIRT = SWAP + RES 라고 되어있네요. 즉, 실제 점유한 크기와 SWAP된
크기를 더한 전체크기값입니다.
RES는 위에서 잠시나왔듯이 Resident size입니다. SWAP되지 않은 실제 메모리에
올라가있는 크기를 나타낸다고 합니다.
RES = CODE + DATA라고 하는군요.

------------------------------
좋은 하루 되세요.