Вы могли суммировать столбцы использования с awk
:
ps --no-headers -u $USER -o pcpu,rss | awk '{cpu += $1; rss += $2} END {print cpu, rss}'
Вы могли бы также интересоваться free
команда для использования памяти:
$ free
total used free shared buffers cached
Mem: 2055480 1806596 248884 0 14016 346276
-/+ buffers/cache: 1446304 609176
Swap: 2097148 132980 1964168
Вывод находится в килобайтах (использование free --mega
для мегабайтов или free -m
для мебибайт). В частности, used
, +/- buffers/cache
запись - что-то как общая используемая физическая память (всеми).
Действие конвейерной обработки выполняется read
в подоболочке, тогда как замена процесса не делает. Для большинства вариантов использования это не проблема, но в этом экземпляре Вы хотите непосредственно влиять на оболочку (путем управления переменными). Поскольку read
был вызван в подоболочке, только подоболочка затронута. По сути, любые действия, которые Вы могли бы хотеть выполнить на них, должны будут быть также выполнены в подоболочке; например:
echo a b | { read a b ; echo "$a" "$b" ; }