cpu usage per user

0

Quando digito lscpu , posso ler o número de CPUs em nosso servidor (56). Nós somos algumas pessoas trabalhando neste servidor e eu gostaria de ver quantas CPUs estão sendo usadas por usuário.

Quando executo top , posso ver o uso total por processo. Existe uma maneira de agrupá-lo por usuário? Eu tenho a sensação de que um usuário está invocando tantas CPUs em seu programa que isso atrasa meus trabalhos.

    
por BillyJean 04.08.2016 / 15:02

2 respostas

0

Você pode definir o campo de classificação em top da seguinte forma:

  1. Pressione f para entrar na tela de gerenciamento de campo
  2. UseasteclasdesetaparaselecionarocampoUSER
  3. Pressione os s para selecioná-lo
  4. Pressione ESC para retornar à tela principal top

Alternativamente, você pode apenas iniciar top com o parâmetro -u para selecionar apenas processos para um usuário específico, por exemplo top -u steeldriver

    
por steeldriver 04.08.2016 / 15:31
0

Primeiro, execute isto: USERNAME="abcd" while true; do echo $(date +%Y-%m-%dT%H:%M:%S)","$(top -b -n 1 -u "$USERNAME" | awk 'NR>7 { sum += $9; } END { print sum; }');sleep 5; done|tee cpuusage.csv

você pode usar o dygraph para exibir o uso. Neste exemplo eu tenho 8 CPUs - então o uso máximo é de 800%.

você pode baixar este exemplo aqui: true-informatics.de/cpuusage.zip Use o código por sua conta e risco!

    
por 0x0C4 04.08.2016 / 15:38