V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CodeCodeStudy  ›  全部回复第 49 页 / 共 49 页
回复总数  965
1 ... 40  41  42  43  44  45  46  47  48  49  
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-01-17 10:48:03 +08:00
回复了 doyouhaobaby 创建的主题 PHP QueryPHP v1-rc.3 发布,更新到 PHP -7.4
Zephir 版本的有更新吗?
2020-01-17 10:45:57 +08:00
回复了 xiaotuzi 创建的主题 PHP 关于 thinkphp 与 swoole 合作而引发的国内开源问题
Hyperf 才开源半年,怎么就成了官方框架了?
1 ... 40  41  42  43  44  45  46  47  48  49  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5858 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 02:43 · PVG 10:43 · LAX 18:43 · JFK 21:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.