Просто оперативка? Не поменяться?
Я сделал грязную работу сценариев в этом:
Сначала нам нужно проанализировать вывод ps aux
для получения mem, command и cpu, что делается в этом скрипте perl:
@dados = `ps aux`;
for $i ( 0 .. $#dados ) {
@l = split('\s+', $dados[$i]);
$j = join(',',@l[1..9]);
print "$j,@l[ 10 .. $#l]\n";
}
Выходными данными будет значение, разделенное запятыми, как будет интерпретироваться 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'])
Этот сценарий позволяет получить MEM и какую команду использует больше MEM | CPU.
В моей записи в crontab есть следующая строка.
* * * * * perl $HOME/processstats.pl > $HOME/process.csv && Rscript --vanilla $HOME/mstats.R $HOME/process.csv >> $HOME/sysmemcpu.log
С помощью R вы можете сделать графику при необходимости:
Извините, если я использовал нестандартный инструмент для составления статистики.