Usando o Process Explorer da Sysinternals, existe uma coluna que pode ser usada para indicar em qual CPU um processo está sendo executado? Se não houver coluna, existe alguma outra maneira?
windows
cpu
process-explorer
rory.ap
fonte
fonte
Respostas:
Solicitado em 2005 :
Sem resposta.
Solicitado em 2007 :
Sem resposta.
Similar discutido em 2013 :
Sinopse básica: isso não pode ser feito.
Threads são enviados para 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 deverão permanecer em um único processador. Como você o define manualmente, você deve saber em qual CPU está. ;)
Porém, se você não especificar, os threads serão controlados pelo sistema operacional e pelo hardware de processamento subjacente e se movimentarão entre os processadores a uma velocidade que seria inatacável e provavelmente imprecisa no momento em que foi exibida. vocês.
Talvez dê uma olhada nessas perguntas da SU para saber mais:
Além disso, no StackOverflow:
Agora, se você criou o programa, poderá usar o GetCurrentProcessorNumber , que relata 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 de propósito).
Mais informações:
fonte
Isso pode ser feito capturando um rastreio xperf e abrindo-o com o Windows Performance Analyzer (WPA.exe) no Windows Performance Toolkit. Aqui você pode adicionar uma CPU de coluna para ver qual CPU (Core) o processo está executando:
fonte