Что вы подразумеваете под «узнать выделенную память»? Хотите знать, сколько памяти использует процесс?
Жиль "ТАК - перестань быть злым"
Ответы:
14
Пытаться:
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 (без тире), которая показывает альтернативную схему памяти.
Как узнать общий объем памяти, выделенной для конкретного процесса в 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т. Д ...
Ответы:
Пытаться:
Для того, чтобы найти использование памяти вашей текущей
bash
оболочки (при условии , что вы используетеbash
). Перейдитеbash
к тому, что вы расследуете. Если вам нужен один конкретный процесс, просто используйте его самостоятельно:Со
man
страницы:RSS
: размер резидентного набора, физическая память без перестановки, используемая задачей (в килобайтах).SZ
: размер в физических страницах основного образа процесса. Это включает в себя текст, данные и пространство стека.VSZ
: размер виртуальной памяти процесса в килобайтах (1024-байтовые единицы).На
man
странице дляps
будут перечислены все возможные аргументы-o
опции (есть несколько вариантов для выбора). Вместо этого-o rss,sz
вы можете использоватьv
опцию стиля BSD (без тире), которая показывает альтернативную схему памяти.источник
RSS
,SZ
иVSZ
.Вы можете использовать
pmap
который показывает карту памяти процесса:Для получения дополнительной информации смотрите справочную страницу
man pmap
или посмотрите pmap (1): карта памяти отчета процесса - справочная страница Linux .источник
Вы не определяете, какая память выделяется для процесса, и на самом деле это довольно сложный вопрос (как насчет отображений совместно используемой памяти - подробности см. В 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 .
источник