//List Processes
ps -la
//Display All Network Activity
nettop
Uma tarefa cron será seu método mais direto.
Redirecione a saída para o env / path desejado com pipes
Embora eu provavelmente precise de algum tipo de ferramenta de monitoramento como mon ou sysstat ou algo assim. Eu estou procurando uma maneira de saber quais tarefas tiram o máximo de minha memória, tempo de CPU etc.
Embora eu entenda que cada estação de trabalho / desktop é único, uma carga de trabalho típica em um dos meus desktops é algo assim:
normalmente é uma carga de trabalho leve na maior parte do tempo, mas ainda vejo o sensor de HDD aceso, o que significa que algumas tarefas em segundo plano estão sendo executadas, embora nenhuma tarefa em primeiro plano esteja acontecendo. Embora eu possa usar o top para descobrir quais tarefas ocupam a maior parte dos ciclos de CPU e memória, é apenas por enquanto. Percebo que preciso de algo que eu possa descobrir ao longo do tempo (digamos um dia), seja executado em segundo plano e produza gráficos bastante bons para analisar e, acima de tudo, tenha os dados brutos no local definido pelo usuário, digamos em / home / shirish / mon ou qualquer nome de diretório está lá. Tudo bem se é / var / log // logs é onde ele fica.
Eu só preciso saber algumas coisas:
Tenho certeza de que existem ferramentas e maneiras pelas quais as pessoas fizeram isso para servidores etc. Mas alguém fez o cenário acima? Se sim, como eles foram?
//List Processes
ps -la
//Display All Network Activity
nettop
Uma tarefa cron será seu método mais direto.
Redirecione a saída para o env / path desejado com pipes
Como exemplo, você pode usar o cron para executar o seguinte comando a cada X minutos:
ps --no-headers -eo "uname fname %cpu %mem" | sed -e 's/ \+/,/g' | sed "s/^/$(date --iso-8601='minutes'),/g" >> /path/to/ps.csv
Ajustando os campos ps
, conforme necessário.
Em seguida, você pode usar o arquivo de saída para representar graficamente o uso usando o software de planilha, o gnuplot ou algo similar.
Como adicionar ao crontab
$HOME/bin/pscsv.sh
). crontab -e
e adicione uma linha semelhante a */5 * * * * /path/to/pscsv.sh
ajustando a periodicidade à sua preferência (este exemplo será executado a cada 5 minutos). Tags monitoring logs