Найти размер страницы и количество страниц процесса в Linux
Учитывая PID процесса, работающего в Linux (последнее ядро), как мне узнать:
- Количество страниц, которые он использует
- Размер каждой используемой страницы (4 КБ, 2 МБ или 1 ГБ)
Это для архитектуры x86-64.
3 ответа
Размер страницы является общесистемным и может быть найден с getconf
команда
getconf PAGESIZE
Инструмент mem_usage.py может предоставить более подробную информацию об использовании памяти процессами.
Количество страниц, которые он использует
awk '{ print $24 }' /proc/[pid]/stat
или же:
awk '{ print $2 }' /proc/[pid]/statm
Согласно man proc, это количество страниц, которые процесс имеет в реальной памяти. Также взгляните на procstat.c для отображения статистики proc в удобочитаемом формате.
В зависимости от того, насколько подробной должна быть информация, которую вы хотите, вы можете выбрать один из следующих вариантов:
/proc/pid/statm
: Предоставляет информацию об использовании памяти, измеряемую в страницах./proc/pid/status
: Предоставляет большую часть информации от/proc/pid/statm
, но легче читать.
Проверьте man-страницу для proc-файлов для полной документации того, что означают различные столбцы.