![Obtenha o nome completo do comando do processo de alto uso de memória no UNIX](https://rvso.com/image/191771/Obtenha%20o%20nome%20completo%20do%20comando%20do%20processo%20de%20alto%20uso%20de%20mem%C3%B3ria%20no%20UNIX.png)
Estou tentando capturar o nome do processo que está usando muita memória na minha caixa. Executei o comando abaixo para conseguir isso
while [ 1 ]
do
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
sleep 5
done
Mas o problema é não me fornecer todos os detalhes do cmd que está sendo executado no PID. A saída que estou obtendo é assim:
PID PPID CMD %MEM %CPU
916 915 /usr/bin/perl /release/data/ 11.9 0.2
831 830 /usr/bin/perl -w /release/da 6.5 0.0
608 607 /etc/alternatives/java_sdk_ 2.4 1.2
135 134 /etc/alternatives/java_sdk_ 1.4 1.6
Quero capturar o cmd completo do PID.
Responder1
Presumo que por "detalhes completos do cmd" você quer dizer incluir a lista de argumentos? Se sim, tente isso abaixo. Isso lhe dará até 100 caracteres de largura para a coluna CMD. Você pode ajustar conforme necessário.
ps -eo pid,ppid,cmd:100,%mem,%cpu --sort=-%mem | head
Responder2
Você sempre pode usar oprincipalcomando com opções para manipular a saída:
top -b -c -n 1 -o +%MEM | sed -n '7,17p'