Determine em qual CPU um processo está sendo executado

18

Usando o Process Explorer da Sysinternals, existe uma coluna que possa ser usada para indicar em qual CPU um processo está sendo executado? Se não há coluna, existe alguma outra maneira?

    
por rory.ap 20.01.2015 / 15:12

2 respostas

45

Solicitado em 2005 :

I am very impressed with the features integrated in Process Explorer but would like to see an option to display each process CPU affinity in the main window as a column toggle.

Nenhuma resposta.

Solicitou em 2007 :

Thanks for superb utilities. My request is to add a column option to process explorer to display CPU affinity. That's it.

Nenhuma resposta.

Discussão semelhante em 2013 :

It would be really nice if there were a new Process Performance View Column called Core Usage that would show a sum of the usage over the core that the process is running on.

Sinopse básica: não pode ser feito.

Threads são enviados para os núcleos para processamento, não para processos. A maioria dos processos modernos tem vários threads.

Se você definir manualmente a afinidade para um processo, todos os threads do processo devem se ater a um único processador. Desde que você configurá-lo manualmente, você deve saber qual CPU está ligado. ;)

Mas, se você não especificar, o (s) thread (s) será (ão) controlado (s) pelo sistema operacional e pelo hardware de processamento subjacente, e saltaria entre os processadores a uma velocidade que seria inatacável e muito provavelmente imprecisa no momento em que foi exibido para você.

Talvez verifique esta questão do SU para mais:

Além disso, do StackOverflow:

Agora, se você escreveu o programa, pode usar o GetCurrentProcessorNumber , que informa o processador atual em uso pelo encadeamento do qual a função foi chamada.

Usar isso permitirá que você faça estimativas sobre o uso do processador por seus encadeamentos, pois você nunca pode ter certeza de onde os encadeamentos serão um ciclo para o próximo (novamente, a menos que você defina a afinidade propósito).

Mais informações:

por 20.01.2015 / 15:47
7

Isso pode ser feito capturando um rastreamento do xperf e abrindo-o com o Windows Performance Analyzer (WPA.exe) do Windows Performance Toolkit, aqui você pode adicionar uma CPU de coluna para ver qual CPU (Core) o processo está executando:

    
por 21.01.2015 / 07:03