VC++의 프로세스 내에서 단일 스레드의 CPU 사용률을 찾는 방법에 대한 도구를 찾고 있습니다.프로세스 내에서 단일 스레드의 CPU 사용률을 찾는 방법
내게 도구를 제공 할 수 있다면 아주 좋을 것입니다.
프로그래밍 방식으로 수행하는 방법을 제공한다면 더 좋을 수도 있습니다.
미리 감사드립니다.
VC++의 프로세스 내에서 단일 스레드의 CPU 사용률을 찾는 방법에 대한 도구를 찾고 있습니다.프로세스 내에서 단일 스레드의 CPU 사용률을 찾는 방법
내게 도구를 제공 할 수 있다면 아주 좋을 것입니다.
프로그래밍 방식으로 수행하는 방법을 제공한다면 더 좋을 수도 있습니다.
미리 감사드립니다.
아마도 GetThreadTimes을 사용하면 도움이 될까요?
스레드가 다른 실행 파일에 속하는 경우, 즉의 라인에 뭔가 (테스트되지 않음) 것 정교하게하려면 :// Returns true if thread times could be queried and its results are usable,
// false otherwise. Error handling is minimal, considering throwing detailed
// exceptions instead of returning a simple boolean.
bool get_remote_thread_times(DWORD thread_id, FILETIME & kernel_time, FILETIME & user_time)
{
FILETIME creation_time = { 0 };
FILETIME exit_time = { 0 };
HANDLE thread_handle = OpenThread(THREAD_QUERY_INFORMATION, FALSE, thread_id);
if (thread_handle == INVALID_HANDLE) return false;
bool success = GetThreadTimes(thread_handle, &creation_time, &exit_time, &kernel_time, &user_time) != 0;
CloseHandle(thread_handle);
return success;
}
.. (도구) .. 프로세스 탐색기를 사용하려고 꽤 유용 ..
http://download.cnet.com/Process-Explorer/3000-2094_4-10223605.html
난 당신이 여기에 윈도우에 대한 요구하고 확신하지만 완전성을 위해,이 유닉스 시스템에서 할 수있는 한 가지 방법을 설명 할 것이다.
/proc 파일 시스템에는 시스템의 실행중인 모든 프로세스에 대한 정보가 들어 있습니다. 이 디렉토리에서 시스템의 모든 프로세스 (pid로 이름 지어진)에 대한 하위 디렉토리를 찾을 수 있습니다.이 디렉토리의 각각 안에 stat라는 파일이 있습니다. 'man proc'을보고 "stat"항목을 검색하십시오. 이 파일에는 많은 정보가 들어 있지만이 필드를 사용하면이 프로세스에서 소비 한 사용자 및 커널 모드 시간을 확인할 수 있습니다.
"지식"이라는 프로세스의 하위 디렉토리를 찾으십시오. 여기에서는 외부 프로세스에 의해 생성 된 모든 하위 프로세스를 찾을 수 있습니다. 각각에 stat 파일이 있습니다.
또한 프로세스 탐색기를 사용했습니다. 그 좋은 도구 – anil
+1이 도구는 정말 좋은 것입니다. – bltxd