linux / виртуальные / физические размеры страниц - PullRequest
4 голосов
/ 06 июня 2011

Является ли размер страницы постоянным?Чтобы быть более конкретным, getconf PAGE_SIZE дает 4096, достаточно справедливо.Но может ли это измениться во время выполнения программы?Или он постоянен на протяжении всего процесса порождения ОС.Т.е. возможно ли, чтобы процесс имел размеры страниц 1024 и 2048 и 4096?Давайте пока поговорим о размерах виртуальных страниц.Но если пойти дальше, возможно ли, чтобы виртуальная страница охватила физическую страницу большего размера?

1 Ответ

3 голосов
/ 06 июня 2011

Процесс может использовать более одного размера страницы. На более новых ядрах это может произойти даже без уведомления, см. Andrea Arcangelis прозрачные огромные страницы .

Кроме этого, вы можете запросить память с другим (обычно большим) размером страницы, превышающим hugetlbfs .

Основная причина наличия больших страниц - производительность, TLB в процессоре очень ограничен в размерах, и меньше, но большие страницы означают больше хитов.

...