V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  CodeCodeStudy  ›  全部回复第 62 页 / 共 62 页
回复总数  1225
1 ... 53  54  55  56  57  58  59  60  61  62  
https://github.com/php/php-src/blob/master/Zend/zend_alloc_sizes.h#L22

#define ZEND_MM_CHUNK_SIZE (2 * 1024 * 1024) /* 2 MB */
https://github.com/php/php-src/blob/master/Zend/zend_alloc.c#L2660

ZEND_API int zend_set_memory_limit(size_t memory_limit)
{
#if ZEND_MM_LIMIT
AG(mm_heap)->limit = (memory_limit >= ZEND_MM_CHUNK_SIZE) ? memory_limit : ZEND_MM_CHUNK_SIZE;
#endif
return SUCCESS;
}

说明 memory_limit 是有最小值限制的
PHP 采取“预分配方案”,提前向操作系统申请一个 chunk ( 2M,利用到 hugepage 特性),并且将这 2M 内存切割为不同规格(大小)的若干内存块,当程序申请内存时,直接查找现有的空闲内存块即可

https://segmentfault.com/a/1190000014764790
2020 年 1 月 17 日
回复了 doyouhaobaby 创建的主题 PHP QueryPHP v1-rc.3 发布,更新到 PHP -7.4
Zephir 版本的有更新吗?
2020 年 1 月 17 日
回复了 xiaotuzi 创建的主题 PHP 关于 thinkphp 与 swoole 合作而引发的国内开源问题
Hyperf 才开源半年,怎么就成了官方框架了?
1 ... 53  54  55  56  57  58  59  60  61  62  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1244 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 17:44 · PVG 01:44 · LAX 10:44 · JFK 13:44
♥ Do have faith in what you're doing.