gpt4 book ai didi

c - 为什么 (getpagesize() - 1) 很特别?

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:48 25 4
gpt4 key购买 nike

/*
* 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

最佳答案

在ngx_pool_t中,有两种分配内存的方法。1. 从内存池中获取未使用的内存(之前分配的)。2. 通过调用palloc直接从操作系统获取内存来获取内存。

当所需内存小于pagesize(4k)时,使用内存池,另一方面直接从操作系统获取内存。

关于c - 为什么 (getpagesize() - 1) 很特别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com