Eu tenho um sistema VPS com 768MB de RAM. Existe alguma maneira de descobrir
- qual é a quantidade média de RAM que eu normalmente uso
- quais processos normalmente usam alta RAM e CPU
para que eu possa ver se preciso atualizá-lo ou não?
Apenas RAM? Não trocar? Eu fiz um trabalho de script sujo nisso:
primeiro precisamos analisar a ps aux
saída para obter mem, command e cpu, o que é feito no script perl:
@dados = `ps aux`;
for $i ( 0 .. $#dados ) {
@l = split('\s+', $dados[$i]);
$j = join(',',@l[1..9]);
print "$j,@l[ 10 .. $#l]\n";
}
A saída será um valor separado por vírgula, como será interpretado por um Rscript :
efile <- commandArgs(TRUE)
dados <- read.csv(efile[1])
mem<-sum(dados[3])
dados <- dados[order(dados[3],dados[4],decreasing=T),]
sprintf("%f %s",mem,dados[1, 'COMMAND'])
Esse script é complicado para obter MEM e qual comando está usando mais CPU | MEM.
Na minha entrada crontab , tenho a seguinte linha.
* * * * * perl $HOME/processstats.pl > $HOME/process.csv && Rscript --vanilla $HOME/mstats.R $HOME/process.csv >> $HOME/sysmemcpu.log
Com R, você pode criar o gráfico, se necessário:
Desculpe se usei uma ferramenta não padrão para fazer as estatísticas.