Использование ОЗУ в Linux.
Для определения топ процессов, использующих ОЗУ, можно использовать следующую команду:
# ps axo rss,comm,pid | awk '{ proc_list[$2]++; proc_list[$2 "," 1] += $1; } END { for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc "," 1],proc); }}' | sort -n | tail -n 10 | sort -rn | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'
# for service in {apache,apache2,httpd,php,nginx,php-fpm}; do mem=`ps -o rss -C $service --noheaders|awk '{s+=$1}; END {print s/1024}'`; nproc=`ps -C $service --no-headers|wc -l`; echo memory of $service: $mem MB; echo runned processes of $service: $nproc; zero=0; if [ $nproc -ne $zero ] ; then echo one process eats `echo $mem/$nproc+1|bc` MB; fi; echo; done
Добавить комментарий