В Linux, как вы определяете, какие отдельные страницы являются резидентными? - PullRequest
5 голосов
/ 27 сентября 2011

Как можно определить, какие отдельные страницы являются резидентными (то есть зафиксированы в ОЗУ)? В Linux / proc / pid / smaps для фиксированного набора диапазонов показывает, сколько байтов находится в этом диапазоне, но эта информация не говорит вам, какие резидентные диапазоны памяти являются резидентными.

Что касается того, для чего он предназначен: У меня уже есть данные, связывающие диапазоны выделения с информацией об исходной строке. Это полезно для определения того, кто сколько выделяет. Учитывая резидентные диапазоны памяти, я мог бы сопоставить данные, чтобы определить, кто выделяет, сколько памяти было оставлено резидентным.

Спасибо!

1 Ответ

2 голосов
/ 27 сентября 2011

Для этого есть системный вызов:

mincore - determine whether pages are resident in memory

int mincore(void *addr, size_t length, unsigned char *vec);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...