개별 명령의 CPU/메모리 사용량을 측정하는 도구?

개별 명령의 CPU/메모리 사용량을 측정하는 도구?

단일 명령의 CPU/메모리 사용량을 측정할 수 있는 유용한 도구가 있습니까?

나는 다음과 같은 것을 원합니다 :

cpu_mem_perf some_executable args1 args2 

실행 후에는 이 명령의 CPU/메모리 사용량, 즉 cpu_mem_perf실행 중인 프로세스와 분기된 프로세스의 some_executable args1 args2총 CPU/메모리 사용량이 인쇄됩니다.some_executable args1 args2some_executable args1 args2

답변1

그냥 사용GNU 버전시간유용일부 맞춤 형식을 사용하면 다음과 같습니다.

이와 같은 것이 time --format="%E %M" some_executable기본적으로 귀하의 요구에 적합할 수 있지만 확인하십시오.매뉴얼 페이지(에서Gnu 버전단락) 귀하에게 더 적합할 수 있는 CPU 및 메모리 사용량에 대한 다른 많은 세부 정보를 인쇄할 수 있는 가능성을 알아보세요.

그런데 보고서에는 some_executable의 하위 활동이 포함됩니다.

이 소프트웨어는 패키지 관리자를 통해 거의 확실히 사용할 수 있습니다.


일부 CPU 사용량에 대해》정점" 값, (다음은 OP의 의견입니다):

GNU 시간 유틸리티가 보고하지 않습니다.정점/proc를 주기적으로 샘플링하기 위해 유틸리티가 필요한 값맨 위-비슷한 방법.
말할 필요도 없이... 이 값은 비록 불확실하더라도 이미 매우 예측 가능하기 때문입니다(때때로 누구든지 즉시 사용할 수 있기 때문입니다).맨 위):100%
이는 설계상 작업이 예약되면 해당 작업을 실행하는 데 CPU의 100%를 사용하기 때문에 논리적입니다.

OP의 정확한 요구 사항에 따라 일부를 갖는 것이 더 합리적입니다.평균형식 문자열의 %P 매개변수로 제공됩니다.

관련 정보