Как узнать общий объем памяти, выделенный для определенного процесса в 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 .