2012-07-21 3 views
0

linux (C++ 코드)에서 실행 파일을 실행 중입니다. 이 실행 파일의 '평균'작업 세트 크기를 계산하고 싶습니다. 계속 진행하는 방법에 대한 단서가 없습니다. 어떤 사람이 나를 도울 수 있습니까?프로세스의 평균 작업 세트 크기

이렇게하려면 Linux에 명령이 있습니까? 사전에

덕분에

+0

당신이 최고 명령 http://linux.about.com/od/commands/l/blcmdl1_top.htm 또는 vmstat를 HTTP를 시도 PL 수 : //en.wikipedia.org/wiki/Vmstat –

+1

이 페이지를보십시오 http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html – Caesar

+0

고마워, 어떻게해야합니까? 나는 그것의 평균을 얻는가? – mohan

답변

3

시저에서 영감 :

pid=`ps axo 'pid,ucomm' | grep procname | awk '{print $1;}'` 
while sleep 15; do grep VmRSS /proc/$pid/status || break; done > /tmp/size 
awk '{ sum += $2; count++; } END { print sum/count; }' /tmp/size 
+0

고마워, 그게 내 문제를 해결. 한 가지 더 의심 스럽지만, vmsat 또는 sar도 같은 일을합니까? 이것은 내 친구를 언급하기 때문에 – mohan

+1

@mohan : vmstat는 시스템 * 메모리 정보를 제공합니다. 만약 당신이 기계가 아무것도하지 않고, 단일 사용자 모드 등으로되어 있다면, 이전과 후에 비교하는 것은 작업 세트가 무엇인지를 결정하게 할 수 있습니다. 그러나 정상적인 작동에서 일반적으로 너무 많은 다른 것들이 계속해서 강력한 결론을 이끌어 낼 것입니다. sar는 거의 같은 방식입니다. 프로세스 회계가 아닌 시스템 회계입니다. –

+0

[상주 세트 크기] (https://en.wikipedia.org/wiki/Resident_set_size)는 [작업 세트 크기] (https://en.wikipedia.org/wiki/Working_set_size)가 아닙니다. –

관련 문제