Большая часть этого описана здесь .
Чтобы ответить на ваш точный вопрос: по умолчанию файл истории читается один раз при запуске оболочки и записывается один раз при выходе из оболочки. Чтобы получить команды, которые появились в файле истории с момента запуска оболочки, используйте команду обновления истории history -n
или комбинацию history -a; история -c; history -r
. Разница между ними в том, как истории объединяются.
Учитывая, что google уничтожил chrome: // память в марте 2016 года, теперь я использую smem :
# detailed output, in kB apparently
smem -t -P chrom
# just the total PSS, with automatic unit:
smem -t -k -c pss -P chrom | tail -n 1
chrom
полным путем, например / opt / google / chrome
или / usr / lib64 / chromium-browser
-P firefox
sudo smem
. Просто быстро посчитайте сумму процессов.
На Mac:
chrome://system/
и выберите все сообщения в памяти _использованиеpython
, CMD+V, Enter И вуаля! "Легко"...
PS -Ярлык ниндзя и файтинг 80-х/90-х -у игроков не должно возникнуть проблем с этим решением
Я нашел решение с помощью vim и awk. Откройте chrome ://систему, разверните использование памяти _, скопируйте в vim и выполните регулярное выражение:
:%s/\D*\(\d*\).MB.*/\1
Остаются только числа перед MB. Сохраните файл и выполните
cat file | awk '{sum += $1} END {print sum}'
Мне не удалось преобразовать код регулярного выражения vim в sed.
Существует USS , который доступен на разных платформах
The USS (Unique Set Size) is the memory which is unique to a process and which would be freed if the process was terminated right now.
Библиотека psutil>4.0 Python может получить к ней доступ
Вот это я бы использовал
sudo python3 -c "import psutil;print(sum(p.memory_full_info().uss for p in psutil.Process(pid=292).children())/1024/1024);"
где pid=292 — это PID самого внешнего процесса из Activity Monitor
Улучшение решения @eddygeek:
smem -ktP chrome
Взгляните на значение столбца "USS" в последней строке
Примечание :вы также можете создать псевдоним для этого:
alias mem='smem -ktP '
Затем используйте:
mem chrome