2011-06-07 23 views
1
/* 
* 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爲什麼(爲getpagesize() - 1)特別?

回答

0

在ngx_pool_t,有兩種方法來分配存儲器。 1.獲取不從內存池使用的內存(以前alloced)。 2.通過調用函數palloc直接從操作系統獲取內存獲取內存。

,而所需的內存小於頁面大小(4K),使用內存池,從另一方面直接從操作系統獲取內存。