2012-01-29 3 views
1

리눅스에서 프로세스의 CPU 사용량 (사용자 모드, 시스템 모드, 유휴 시간)을 계산해야합니다. 사용자 및 시스템 모드에서 사용량을 계산하려면 utimestime 값이 /proc/PID/stat인데 유휴 시간과 관련이없는 것으로 나타났습니다.리눅스에서 프로세스의 유휴 시간

나는 유휴 시간을 /proc/stat에서 얻을 수 있지만이 값은 특정 프로세스가 아니라 기계와 관련이 있음을 알고 있습니다.

PID (/proc 디렉토리의 데이터 읽기)을 알고있는 프로세스의 유휴 시간을 계산할 수 있습니까? 나는하지만 어쩌면 다음 작품 그것에 대해 잘 모른다

+0

CPU 유휴 시간은 (유용한) 코드를 실행하지 않은 시간입니다. 프로세스의 유휴 시간은 정확히 무엇입니까? – gby

+0

내가 틀렸다고 정정 해 주지만, 프로세스 CPU 사용량 (사용자 및 시스템 모드 모두)이 0 % 인 시간으로 프로세스의 유휴 시간을 이해합니다. –

+0

여러 스레드를 통해 여러 코어에서 프로세스가 실행되는 시간은 어떻게 계산합니까? –

답변

2

:이 도움이

1) Get the process start up time. Im sure thats possible 
2) Generate time difference (dTime = CurrentTime - TimeProcessStarted) 
3) Substract the time the process is running (dTime - (usageSystemMode + usageUserMode)) 

희망을! : D

+0

당신의 해결책이 효과가 있다고 생각합니다 :) 프로세스 시작 시간은 시작 시간 값을 사용하여/proc/PID/stat에서 검색 할 수 있습니다. 감사 –

관련 문제