Які процесори підтримують 1 Гб сторінок?


19

Деякі процесори Intel підтримують 1 Гб сторінок. Це визначається, переглянувши CPUID 0x80000001, EDX біт 26 . Ядро Linux надає це через , /proc/cpuinfoяк pdpe1gbпрапор .

Де ми дізнаємося, які ЦП підтримують це, а які -? Або яка лінійка продуктів підтримує цю функцію? На цих сторінках Intel ARK немає нічого, що вказує на підтримку цієї функції.

Процесори, які підтримують сторінки 1 Гб:

Інші процесори, які не підтримують 1 Гб сторінок:


Відповіді:


4

Відповідно до цієї сторінки :

на додаток до своїх стандартних сторінок на 4 Кб новіші процесори x86-64, такі як новіші процесори AMD64 та процесори Intel Westmere та новіші процесори, можуть використовувати сторінки в 1 ГБ у тривалому режимі

Здається, це правда, оскільки це була нова особливість процесорів Westmere .


5
Так, я точно переглянув усі ці сторінки Вікіпедії! Однак ця відповідь є невірною. Sandy Bridge є більш новим, ніж Westmere, і тепер у мене є два процесори Sandy Bridge, які не підтримують його.
Джонатан Райнхарт

2
@JonathonReinhart: величезний мінус Hugepages для загального використання, особливо 1G сторінок, це те, що вся величезна сторінка підключає стільки фізичної ОЗУ. Якщо процес виділяє 1GiB нормально, то лише ті частини, яких він коли-небудь торкався, насправді займають віртуальну пам'ять. (overcommit навіть дозволяє виділяти, що у ядра недостатньо місця для обміну для обробки). Linux не може сторінок величезних сторінок на диску, навіть коли процес зупинений, тому виділення величезних сторінок ефективно закріплює / блокує стільки фізичної пам'яті.
Пітер Кордес

1
2М hugepages мають сенс , коли вони не будуть залишені напівпорожній (наприклад , коли ви точно знаєте , що ви які збираєтеся писати кожен 4k з 2M в будь-якому випадку), але НЕ вистачає підкачки велику справу. Розробка програмного забезпечення загального призначення для жахливої ​​роботи на настільних комп'ютерах з обмеженою пам’яттю не є хорошою ідеєю. Я не думаю, що ви навіть можете скласти файл на диску з 2M величезними сторінками, але це було б поганою ідеєю для виконуваних файлів, тому що в блоці 2M не буде торкатися 4-сторінок. Вони можуть бути виселені з кеш-сторінки (якщо припустити, що вони були попередньо встановлені), звільнивши оперативну пам’ять.
Пітер Кордес

1
Якщо поточні процесори мають багаторівневі TLB, загальний час, витрачений на пропуски TLB, напевно, не надто поганий, чи не так? Я ще не профілював таких речей, як firefox. Мені було б цікаво ознайомитись з читаним резюме, скільки часу він витрачає на пропуски TLB (наприклад, прогулянки сторінками) та такі речі, як пропуски I-кешу L1. Я знаю, що я міг би просто вказати perfна це ... Навіть якщо ви хочете використовувати 2M величезні сторінки для firefox, я б припустив, що багато його внутрішніх даних виділяються меншими шматками, ніж це. Ви можете переконатися, що ви мінімізували зовнішню фрагментацію виділень всередині великого буфера сторінок.
Пітер Кордес

1
Пропуски TLB дорогі для операцій з високою пам'яттю та випадковим доступом, таких як багато додатків бази даних. Величезні сторінки суттєво змінюються - але навіть там вони говорять про 2 Мб сторінки, а не 1 Гб. ОС є найімовірнішим користувачем сторінок 1 ГБ за допомогою прямого відображення всього фізичного адресного простору.
GreenReaper
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.