2009-04-21 1 views
2

내가 가진 프로그래밍 할당에 대해 OK입니다 (예, 우리는 모두 도움이되는 소스로 전환 할 수 있습니다). 얼마나 많은 시간이 소요되는지 알아야합니다. 차단/취침/달리기.프로세스가 소비하는 시간 결정 차단/실행

for i in `ls /proc/ | egrep [0-9]+` 
do 
     cat /proc/$i/status | grep State 
done 

하지만 모든 문제가 수면 상태를보고하고있다 :

내 첫 번째 시도는 다음과 같이보고 그 ... 떠들썩한 파티 스크립트를 작성했다. 게다가이 방법을 사용하면 미친 듯이 설문 조사를해야 할 것입니다 ... 그래서 테스트를 실행하면 아마 결과가 변경 될 것입니다 ... (우)

이제 syscalls를 사용하여 새 버전의 Linux를 컴파일하거나 프로세스 추적을 유지하는 방법 국가는 의문의 여지가 없습니다. 내 유일한 걱정은

답변

1

당신은 '시간'을 사용할 수 있습니다 ... 프로세스 상태를 변경하고 난 아무것도 놓치지 않는 것을 확인하고 추적하는 방법을 찾기 위해 노력하고있다

$ time ls /usr/bin 

real 0m4.756s 
user 0m0.051s 
sys  0m0.078s 

리얼 - SYS = (아마도 동적 링크를 포함하여 사용자 = 시스템에 소요되는 시간이

사용자를 호출 =에만 프로그램의 지침을 실행하여 소요 된 시간 - 총 시간은 I/O (수면/차단)

SYS 기다렸다 오버 헤드, 그것에 대해 확실하지 않음)

관련 문제