일정 기간 동안 한 프로세스의 CPU 사용량을 어떻게 모니터링 할 수 있습니까? 앱을 작성할

하루 동안 PC의 특정 실행 파일의 평균 CPU 사용량이 무엇인지 알고 싶습니다.

이 작업을 수행하기 위해 C # 앱을 작성할 수는 있지만 이것이 슈퍼 유저가 알고있는 앱과 정확히 일치하는 앱이라고 생각했습니다.

중요한 경우 Windows 7 64 비트를 사용하고 있습니다!

감사!



답변

성능 모니터로 이동하십시오. 그래프를 마우스 오른쪽 버튼으로 클릭하고 “카운터 추가”를 선택하십시오.

“사용 가능한 카운터”목록에서 옆에있는 아래쪽 화살표를 클릭하여 “프로세스”섹션을여십시오. “% Processor Time”(및 원하는 다른 카운터)을 선택하십시오.

“선택한 개체의 인스턴스”목록에서 추적하려는 프로세스를 선택하십시오. 그런 다음 “추가 >>”를 클릭하십시오. 필요한 것이 있으면 확인을 클릭하십시오.

선택한 응용 프로그램의 CPU 사용량 그래프가 표시됩니다.


답변

수퍼 유저가 사용해야하는 또 다른 응용 프로그램은 Process Explorer 입니다.

Mark Russinovich의 기술 블로그 기사 인 시스템 프로세스 CPU 스파이크 사례에서 네트워크 드라이버로 인한 CPU 스파이크를 추적했습니다.


답변

사용 가능한 링크는 다음과 같습니다.
http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html

그렇지 않으면 System.Diagnostics 네임 스페이스를 살펴보십시오 (System.Diagnostics를 빠르게 검색하면 관련 페이지가 표시됨).


답변

다음 명령은 특정 프로세스 (pid)에 대해 50 초마다 CPU 및 메모리 사용량의 평균을 얻습니다.

pidstat 50 -ru -p <pid>

내 경우에 대한 출력 (cpu-usage의 경우 두 줄, 메모리의 경우 두 번째 줄) :

02:17:47 PM       PID    %usr %system  %guest    %CPU   CPU  Command
02:18:27 PM     24563    0.38    0.07    0.00    0.45     3  java

02:17:47 PM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
02:18:27 PM     24563     11.68      0.00 13047972 2123268   6.52  java


답변