2012-07-27 3 views
0

CPU 사용 계산과 관련된 프로세서 수는 얼마입니까? 나는 CPU 사용 계산에 관한 여러 링크에서 프로세스 CPU time/execution 시간을 언급했다. 이 듀얼 코어 프로세서 인 경우, 그Java 응용 프로그램의 CPU 사용량은 프로세서와 관련이 있습니까

cpu usage = (process cpu time)/(execution time)*(no. of processors) 

또는

cpu usage = (process cpu time)/(execution time) 

좋아입니까?

+0

"프로세스 CPU 시간"이란 무엇입니까? –

+0

리눅스 머신에 있다면,'sh foo.sh' 코드를 실행하면'time sh f.sh' 시간이 추가됩니다 : 'real' - 벽시계 시간 '사용자 '- 이것은 CPU 시간입니다. 실시간과 거의 같습니다 * 프로세스 수. – arunmoezhi

답변

1

나는 단순하게하고 싶다. 자바에서는 스레드 당 CPU 사용량과 전체 CPU 사용량을 얻을 수 있습니다.

총 CPU 시간 = 1 쓰레드 CPU 시간 + 2 쓰레드 CPU 시간 + ... + N 쓰레드 CPU 시간;

나는 * no of processors을 사용하는 것이 모든 스레드가 정확히 동일한 양의 작업을 수행하기를 바라지 않는 경우에 유용하다고 생각하지 않습니다.

백분율 CPU 사용량

% CPU 사용량 = 100 * 총 CPU 시간이다/시간 경과.

즉, 백분율 사용량이 약 100 %로 표시되면 약 1 개의 CPU 스레드를 사용하고 있음을 의미합니다. 이것은 응용 프로그램이 효과적으로 단일 스레드라는 것을 의미 할 수 있으며 다중 스레드가 작동하는 방식, 즉 더 많은 스레드가 필요하거나 현재 스레드가 작동하는 방식을 수정해야 할 필요성을 개선해야합니다. CPU 사용량이 100 % 미만인 경우 여러 스레드가 필요하지 않으며 스레드 수가 적을 수 있습니다.

관련 문제