Eu tenho acesso a um nó de 8 núcleos de um cluster Linux. Quando conectado ao nó, posso ver uma lista de processadores usando este comando:
more /proc/cpuinfo
No meu nó de 8 núcleos, os processadores são numerados de 0 a 7. Cada processador é uma CPU Intel Xeon (E5430 a 2.66GHz).
Agora, suponha que eu chame o programa foo
com alguns argumentos args
:
foo args
O programa foo
demora muito para ser executado (horas ou dias, por exemplo). Tendo chamado foo
, é possível determinar o processador específico (ou seja, 0 a 7) no qual foo
está sendo executado? O top
programa mostra o ID do processo e informações semelhantes, mas não vejo o número do processador . Essas informações estão disponíveis?
foo
a dois processadores diferentes. Quando ligo foo
uma vez, ele roda com %CPU
muito perto de 100% (de acordo com top
). Mas quando ligo foo
pela segunda vez, ambos os foo
processos são executados de forma que o valor %CPU
de ambos os processos chegue a menos de 100% (geralmente cerca de 45% para cada foo
processo). Para mim, isso sugere que as duas chamadas foo
estão em execução no mesmo processador (mesmo que haja oito processadores disponíveis); Eu gostaria de verificar se é esse o caso.