내 응용 프로그램의 실행 스레드의 cpuload를 어떻게 얻을 수 있습니까?
내 응용 프로그램이 리눅스에서 실행되고, mac가 아닌 윈도우에서 실행됩니다.C# 모노 스레드 CPU 사용량을 얻으십시오
모노를 버전 3.0.2로 업데이트합니다.
지금 나는 "Process.GetCurrentProcess().Threads
"의 올바른 스레드 수를 얻을 수 있지만 ProcessThread
객체는 읽어 볼 수없는 "TotalProcessorTime
"
i는 CPU 사용량 내 실행중인 응용 프로그램의/스레드를 계산하기 위해 무엇을 할 수 있는가?
실행중인 스레드의 linux-process-id를 얻을 수 있습니까? 내가 할 수 있다면, 내가 proc 디렉토리 구조를 읽을 수 있지만 어떤 방법을 찾을 수 없습니다.
누군가가 나를 도울 수 있기를 바랍니다.
예이 정확하지만 난 managed-thread-id를 linux-thread-id로 참조 할 수 없습니다. – mjungwirth
[MSDN] (http://msdn.microsoft.com/en-us/library/system.threading.thread%28v=vs.110%29.aspx) : "운영 체제 ThreadId에는 다음과 같은 고정 된 관계가 없습니다. 관리되지 않는 호스트는 관리되는 스레드와 관리되지 않는 스레드 사이의 관계를 제어 할 수 있으므로 정교한 호스트는 CLR Hosting API를 사용하여 동일한 운영 체제 스레드에 대해 많은 관리되는 스레드를 예약하거나 다른 운영 체제간에 관리되는 스레드를 이동시킬 수 있습니다 시스템 스레드. " 모노는 현재 그렇게하지 않을 수도 있지만, 나는 그것에 의존하지 않을 것입니다. – Jester