разбросать по переменным строку (shell)

anode
red, у меня получилось имя "Web Content", т.е. в массиве 4 элемента разделенных пробелами.

вот так все показывает одинаково:
$ ps -eo pid,size,comm --sort=-size --no-headers|head -1
 1061 610380 firefox
$ ps -eo pid,size,comm -k size|tail -1
 1061 610380 firefox
anode
команда у меня вообще не работает :) В таком виде
хз, в bash и zsh нормально отрабатывает у меня --sort -size
--sort size тоже не работает?

если чё

ps -V
ps from procps-ng 3.3.15
red, я и имел в виду команду ТС, извините за неоднозначность
И все же имя, последнее поле, может содержать пробел, у меня "Web Content"
-size и head -1 поидее меньше систему дёргает , чем size и tail -1, хотя разница на малом списке микронна
grayich
–sort size тоже не работает?
работает, я просто походу при копировании команды не все тире нормально поправил
А я никогда не использую ни ps, ни top для определения памяти - уж очень завышенное значение показывают
ps -eo pid,size,comm --sort -size | awk NR==2 | awk '{print "pid="$1" mem="$2" name="$3}'
pid=1120 mem=1340596 name=firefox
Обычно использую smem, значение pss - сравните разницу
smem --sort=pss|awk 'END {print "pid="$1" mem_uss="$5" mem_pss="$6" mem_rss="$7}'
pid=1120 mem_uss=784528 mem_pss=802120 mem_rss=836376
Ошибки не исчезают с опытом - они просто умнеют
vasek
завышенное значение показывают
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 30 | sort -rn \
| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'
vs220, понял ... не посмотрел что они там определяют (практически не использую ps, а потому и ...)
rss безусловно совпадает, но этот параметр не отражает истинного положения памяти (лучше смотреть uss и pss, но это, конечно, дело вкуса)
Ошибки не исчезают с опытом - они просто умнеют
vasek
ps -eo pid,size,comm –sort -size | awk NR==2 | awk '{print "pid="$1" mem="$2" name="$3}'
это, кстати, можно немного сократить в части вызова awk
ps -eo pid,size,comm --sort -size | awk 'NR==2 {print "pid="$1" mem="$2" name="$3}'
red
это, кстати, можно немного сократить в части awk
Согласен, правильно подмечено. Использую заготовки, а там приведен выбор и строк и столбцов (2 вхождения awk), а потому над сокращением и не думается.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.