Como obter todos os processos em execução em cada núcleo da CPU no Ubuntu?

2

Estou trabalhando no servidor Ubuntu14.04 e tem 48 núcleos de CPU. Eu estou vendo há um alto uso da CPU em um núcleo de informações do sar. Então, quero saber quais processos estão sendo executados nesse núcleo. Como devo obter todos os processos em execução em cada núcleo da CPU no Ubuntu?

    
por Rohanil 08.03.2017 / 05:20

3 respostas

5

Você pode fazer isso com ps -aeF , consulte a coluna C

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2015 ?        00:08:07 /sbin/init

Ou com htop , configure-o para mostrar a coluna PROCESSOR ,

ParadefinirafinidadedeCPU,vocêpodeusarocomando taskset

    
por 08.03.2017 / 05:43
2

Normal top também pode mostrar a última CPU usada.

Você precisa pressionar f enquanto visualiza a tela principal para entrar na tela Gerenciamento de campos, seta para baixo até P = Last Used CPU (SMP) e alterná-lo com d ou espaço. Pressione q ou escape para retornar à tela principal.

Você pode mover a coluna P para cima na tela Gerenciamento de campos se não gostar da coluna P na extremidade direita da saída.

    
por 08.03.2017 / 21:44
2

Perceba que isto é datado, mas, para aqueles que querem ver quais processos estão usando qual núcleo com o comando ps, a coluna que você quer é psr.   C é a utilização da CPU.

Os núcleos são numerados de 0-N. Você pode ver detalhes principais com:

cat /proc/cpuinfo

Digamos que você tenha 4 núcleos e queira ver todos os processos usando o 4º núcleo:

CORENUM=3; ps -e -o pid,psr,cpu,cmd | grep -E  "^[[:space:]][[:digit:]]+[[:space:]]+${CORENUM}"

Quebra do comando acima.

Crie e defina uma variável "CORENUM" com o valor de "3" (o quarto núcleo). Encerre a declaração com ponto-e-vírgula (você pode pressionar enter aqui).

Execute o comando ps em que: -e = seleciona todos os processos -o = formato definido pelo usuário. Isso é feito de um ou mais especificadores de formato separados por vírgula.      Estes podem ser encontrados na página ps man ("man ps") sob seção  ESPECIFICADORES DE FORMATO PADRÃO

(use barra para pesquisar em uma página man).

Para ver uma lista bruta, você pode inserir a opção "L" (sem "-"):

ps L

Portanto, aqui meu formato definido pelo usuário está listando o ID do processo seguido pelo processador, a utilização da CPU e, finalmente, o comando.

Isso é canalizado para o grep onde usei a opção -E para habilitar o regx estendido em uma tentativa de produzir com precisão apenas os processos associados ao número da cpu armazenado na variável CORENUM.

    
por 01.02.2018 / 23:04