Узнайте общую память, выделенную для конкретного процесса в Ubuntu

Попытайтесь использовать -A опция для передачи подлинного соединения агента, чего-то вроде этого:

ssh -A serverA 'bash -s' < deploy.sh
15
11.12.2018, 13:18
3 ответа

Попробуйте:

pidof bash | xargs ps -o rss,sz,vsz

Найти использование памяти в вашей текущей оболочке bash (предполагая, что вы используете bash). Измените bash на то, что вы исследуете. Если вам нужен один конкретный процесс, просто используйте его самостоятельно:

ps -o rss,sz,vsz <process id>

Со страницы man:

RSS: размер резидентного множества, физическую память без подкачки, которую использовала задача (в килобайтах).

SZ: размер в физических страницах образа ядра процесса. Включает в себя текст, данные и пространство стека.

VSZ: размер виртуальной памяти процесса в килобайтах (1024 байта).

На странице man для ps перечисляются все возможные аргументы опции -o (их довольно много). Вместо -o rss,sz можно использовать опцию BSD стиля v (без тире), которая показывает альтернативную раскладку памяти.

14
27.01.2020, 19:50

Вы можете использовать pmap, который показывает карту памяти процесса:

pmap -p pid

Более подробную информацию о ней смотрите в man-странице man pmap или посмотрите на pmap(1): report memory map of process - Linux man page.

5
27.01.2020, 19:50

how to find out the total memory allocated for a particular process in ubuntu?

Вы не определяете, что такое память, выделенная для процесса, и на самом деле это довольно сложный вопрос (как насчет отображений разделяемой памяти -см. mmap (2)для подробностей; как насчет разделяемой памяти POSIX -см. shm _обзор (7)для получения дополнительной информации; как насчет некоторых страниц в кэше страниц , используемых для открытых файлов; и т.д...)

Вы можете использовать /proc/файловую систему (, которая, кстати, используется ps, pmap, top, htopи т.д.... ). Прочтите proc (5)для получения дополнительной информации. В частности, для процесса pid 1234 вы можете использовать /proc/1234/status, /proc/1234/statm, /proc/1234/mapsи т. д. Все они представляют собой текстовые псевдофайлы -(, немного похожие на конвейеры ), которые вы можете увидеть с помощьюcat(или прочитать последовательно внутри какой-нибудь программы ). Кстати, внутри программы вы можете использовать /proc/self(, которая является псевдосимволической ссылкой ), например. читать последовательно /proc/self/statusи т.д...

См. также LinuxAteMyRam .

0
27.01.2020, 19:50

Теги

Похожие вопросы