Почему (getpagesize () - 1) особенный? - PullRequest
1 голос
/ 07 июня 2011
/*
 * NGX_MAX_ALLOC_FROM_POOL should be (ngx_pagesize - 1), i.e. 4095 on x86.
 * On Windows NT it decreases a number of locked pages in a kernel.
 */
#define NGX_MAX_ALLOC_FROM_POOL  (ngx_pagesize - 1)

Вышеприведенное извлечено из nginx, но я не понимаю, почему максимальный объем памяти, который может быть выделен из пула, равен getpagesize()-1?

1 Ответ

0 голосов
/ 14 января 2014

В ngx_pool_t есть два метода для выделения памяти.1. получить неиспользуемую память из пула памяти (выделено ранее).2. получить память, вызвав palloc для непосредственного получения памяти из ОС.

, в то время как требуемая память меньше, чем размер страницы (4 КБ), используйте пул памяти, с другой стороны, получите память из ОС напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...