자체 CPU 및 메모리 사용량을 얻어야하는 C 프로그램을 작성했습니다.프로세스 내에서 프로세스의 CPU 사용량을 확인할 때 top 명령이 0 % CPU 사용률을 반환합니다.
system("prs_pid=`ps | grep prs-m1 | awk '{print $1}'` \n top -n1 | grep -m1 $prs_pid | \
awk '{print \"prs_cpu:\" $7 \"\\nprs_mem:\" $6}' >> /stats");
내 응용 프로그램 이름이 PRS 내가이야 PS를하고 내 프로세스의 PID를 얻을 후 TOP을 실행 CPU 사용량을 얻으려면 : 그래서 이런 식으로 뭔가를 작성했습니다. 프로그램은 2 % 메모리와 0 % CPU를 사용하고 있다고보고합니다. 그러나 cmd에서 동일한 명령을 수동으로 실행하면 동일한 memry 사용량을 반환하지만 top을 실행하여 확인할 수있는 유효한 0이 아닌 CPU를 반환합니다. 내가 이해하지 못하는 이유는 시스템 내부에서 시도했을 때 CPU 사용이 항상 0 %라는 것입니다.
리눅스에서'/ proc'을 읽는 것 : http://stackoverflow.com/q/16726779/8446 –