프로그램이 run time에서 사용하는 메모리의 사이즈를
알 수 있는 방법이 있을까요?
ps로 주기적으로 검사하는 방법말고,
최종적으로 프로그램이 시작해서 끝날때까지 사용한 메모리의 피크치를
Windows환경도 좋고, Linux 환경에서도 좋습니다..
(다른 OS간 비교는 아니고, 비슷한 두 프로그램을 같은 환경에서 비교하고자합니다.)
해당 프로그램이 자체적으로 하려면 getrusage() 함수를 사용하시고, 외부에서 관찰하려면 pmap을 사용하시면 됩니다.
/proc에서 statm이나 stat 파일을 이용해서 메모리 크기를 확인할 수도 있습니다.
http://kldp.org/node/46776
추가로, valgrind의 massif도 써 보시길.
$ valgrind --tool=massif --stacks=yes ./a.out ARGUMENTS... $ ms_print massif.out.XXXX
-- C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
각각의 프로세스에 대한 CPU 사용량부터 메모리 사용량, 최대 메모리 사용량, 커밋 크기, 페이징 풀, 비페이징 풀, 페이지 폴트, 각각의 변화량 등등을...
작업관리자에서 확인할 수 있습니다.
...
해당 프로그램이
해당 프로그램이 자체적으로 하려면 getrusage() 함수를 사용하시고,
외부에서 관찰하려면 pmap을 사용하시면 됩니다.
/proc에서 statm이나 stat 파일을 이용해서 메모리 크기를 확인할 수도 있습니다.
http://kldp.org/node/46776
http://kldp.org/node/46776
추가로, valgrind의 massif도 써 보시길.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
MS윈도우즈라면...
각각의 프로세스에 대한 CPU 사용량부터 메모리 사용량, 최대 메모리 사용량, 커밋 크기, 페이징 풀, 비페이징 풀, 페이지 폴트, 각각의 변화량 등등을...
작업관리자에서 확인할 수 있습니다.
...