Как найти или рассчитать размер таблицы страниц процесса Linux и другие учетные записи ядра? - PullRequest
5 голосов
/ 12 мая 2009

Как я могу узнать, насколько велика таблица страниц процесса Linux вместе с другими учетными записями процессов переменного размера?

Ответы [ 5 ]

7 голосов
/ 14 декабря 2012

Начиная с Linux 2.6.10, объем памяти, используемой таблицами страниц одного процесса, был выставлен через поле VmPTE /proc/<pid>/status.

5 голосов
/ 12 мая 2009

Если вас действительно интересуют таблицы страниц, сделайте

$ cat /proc/meminfo | grep PageTables
PageTables:      24496 kB
1 голос
/ 12 мая 2009

Хммм, еще в Ye Olden Tymes мы вызывали nlist (3), чтобы получить системный адрес для данных, которые нас интересовали, затем открывали / dev / kmem, ищем адрес, затем читаем данные. Не уверен, что это работает в Linux, но, возможно, стоит набрать "man 3 nlist" и посмотреть, что получится.

1 голос
/ 12 мая 2009

Не уверен насчет Linux, но большинство вариантов UNIX предоставляют sysctl(3) для этой цели. Существует также утилита командной строки sysctl(8).

0 голосов
/ 26 июля 2009

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

Тэд сказал, мне также было бы интересно прочитать общий доступ к страницам процессов в Linux.

В качестве простого практического правила вы можете, однако, предположить, что каждый процесс перекрывает общий ресурс в табличной таблице, равный его виртуальному размеру, например 6 байтов для каждой страницы. Так, например, если у вас есть база данных Oracle с 8 ГБ SGA и 500 процессами, совместно использующими ее, каждый процесс будет использовать 14 МБ страничных таблиц, что приведет к 7 ГБ страницам таблиц + 8 ГБ SGA. (номера образцов от http://kevinclosson.wordpress.com/2009/07/25/little-things-doth-crabby-make-%E2%80%93-part-ix-sometimes-you-have-to-really-really-want-your-hugepages/)

...