O seguinte comando lhe dará o% CPU:
ps -eo pid,cmd,%cpu --sort=-%cpu | head -2| tail -1 | awk '{print $NF}'
-
tail -1
- fornecerá a última linha, que contém o número real -
awk 'print $NF}'
imprimirá o último elemento na linha
Eu quero pegar o top PID e Command, que está recebendo a CPU > 90% no servidor. Eu quero o% da CPU em uma variável. Eu tentei usando o comando ps abaixo.
ps -eo pid,cmd,%cpu --sort=-%cpu | head -2
PID CMD %CPU
987 dd if=/dev/zero of=/dev/nul 63.6
Estou tentando usar o AWK, mas ele está me informando errado, pois está exibindo o comando dd como uma coluna diferente.
Qualquer maneira de obter o cpu%
Use a seguinte abordagem para obter o top cpu%:
ps -eo %cpu --sort=-%cpu --no-headers | head -1
--no-headers
Print no header line at all
Tags awk shell-script