Как узнать общий объем памяти, выделенный для определенного процесса в Ubuntu?
Как узнать общий объем памяти, выделенный для определенного процесса в Ubuntu?
Ответы:
Пытаться:
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
вы можете использовать v
опцию стиля BSD (без тире), которая показывает альтернативную схему памяти.
Вы можете использовать pmap
который показывает карту памяти процесса:
pmap -p pid
Для получения дополнительной информации смотрите справочную страницу man pmap
или посмотрите pmap (1): карта памяти отчета процесса - справочная страница Linux .
Как узнать общий объем памяти, выделенной для конкретного процесса в Ubuntu?
Вы не определяете, какая память выделяется для процесса, и на самом деле это довольно сложный вопрос (как насчет отображений совместно используемой памяти - подробности см. В mmap (2) ; как насчет разделяемой памяти POSIX - см. Shm_overview (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 .