Налаштування розмірів пулів - це пристрій Windows (гл
Щоб встановити інші початкові розміри цих пулів, змініть значення параметрів NonPagedPoolSize і PagedPoolSize у розділі реєстру HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management з 0 (при цьому система сама обчислює розміри) на потрібні величини (в байтах). Але ви не зможете перевищити граничні значення, наведені в таблиці 7–5. Значення OxFFFFFFFF для PagedPoolSize вказує, що вибрано найбільший з можливих розмірів, проте збільшення пулу пам'яті, що підкачується, буде відбуватися за рахунок записів системної таблиці сторінок (page table entries, РТЕ).
Таблиця 7-5. Максимальні розміри пулів

Розраховані значення розмірів зберігаються у чотирьох змінних ядра, три з яких експортуються як лічильники продуктивності. Імена змінних, лічильників та параметрів реєстру, що дозволяють змінювати розміри пулів, наведено в таблиці 7–6.
Таблиця 7-6. Змінні та лічильники продуктивності, що відображають розміри системних пулів

ЕКСПЕРИМЕНТ: визначаємо максимальні розміри пулів
Оскільки пули пам'яті, що підкачується і не підкачується, є критичними ресурсами системи, важливо знати, коли їх розмір наближається до розрахункової для вашої системи межі, щоб задати значення, відмінне від встановленого за замовчуванням у відповідних параметрах реєстру. Лічильники виводять лише поточний, але не максимальний розмір, тому ви не дізнаєтесь про наближення до ліміту, доки не досягнете його. (Як уже говорилося, майбутні версії Windows, можливо, будуть підтримувати пули динамічних розмірів. І тоді необхідність перевірки максимальних розмірів пулів відпаде.)

Зауважте: щоб Process Explorer міг отримати цю інформацію, він повинен мати доступ до символів для ядра даноїсистеми. (Як налаштувати Process Explorer на використання символів, див. в експерименті «Перегляд детальних відомостей про процеси за допомогою Process Explorer» у розділі 1.)


У цій системі розміри пулів пам'яті, що підкачується і не підкачується, далекі від своїх максимумів. Відладчик ядра також дозволяє вивчити значення змінних ядра, перелічених у таблиці 7–6:
kd› dd mmmaximumnonpagedpoolinbytes 11 8047f620 0328c000 kd›? 328c000
Оцінка величини: 53002240 = 0328c000
kd› dd mmsizeofpagedpoolinbytes 11 80470a98 06800000 kd›? 6800000
Значення величини: 109051904 = 06800000
З цього прикладу видно, що максимальний розмір пула, що не підкачується, становить 53 002 240 байтів (приблизно 50 Мб), а максимальний розмір підкачуваного пулу - 109 051 904 байта (104 Мб). В тестовій системі, використаної нами для цього експерименту, поточний розмір використаної пам'яті пула, що не підкачується, становив 5,5 Мб, а підкачуваного пула - 34 Мб, так що обидва пула були далекі від заповнення.