Изменить размер моих страниц памяти?

Одной вещью, о которой я могу думать не в своем уме, является производительность. Но это действительно зависит от того, какой материал Вы туннелируете.

6
26.06.2013, 15:16
3 ответа

Вы, вероятно, хотите посмотреть на Transparent Hugepages. .config объект является CONFIG_TRANSPARENT_HUGEPAGE. Обратите внимание, что включение этого не даст Вам огромные страницы автоматически. Необходимо будет установить CONFIG_TRANSPARENT_HUGEPAGE_MADVISE на 'n' для создания его значением по умолчанию.

Также обратите внимание, что это не позволяет Вам выбирать произвольный размер страницы. Я позволяю использовать огромный размер страницы архитектуры. Для x86_64 это - 1 МБ, см. https://en.wikipedia.org/wiki/Page _ (computer_memory) #Huge_pages для полной таблицы.

4
27.01.2020, 20:28

РАЗМЕР СТРАНИЦЫ установлен во время компиляции ядра. Тот выбор только допустим для i386 аппаратных средств. При выполнении 64-разрядной системы или какой-либо другой архитектуры размер страницы является 4K и не может быть изменен.

2
27.01.2020, 20:28
  • 1
    Для проверки PAGE_SIZE, можно использовать команду getconf PAGE_SIZE –  Mark Stewart 02.06.2016, 21:15

Плиты кажутся именно тем решением, которое вы просто ищете. Слэбы - это блоки памяти, предварительно выделенные ядром, и они должны более или менее избегать накладных расходов на выделение памяти, которые кажутся именно тем, чего вы пытаетесь достичь.

Для получения дополнительной информации см. Википедия: Распределение Slab

Изменение размера страницы (если это было возможно) до размера 1MiB привело бы к чрезмерной трате памяти. Многие (я имею в виду десятки) подпроцессов и демонов занимают всего несколько килобайт памяти. Есть ли такая дешевая память?

0
27.01.2020, 20:28

Теги

Похожие вопросы