php内存管理之内存分配
鉴于系统开销的调用,一些对性能有要求的应用通常会在自己的用户态进行内存管理,比如在第一次申请一块较大的内存留着
备用,而不是使用完马上还给操作系统,可以进行复用,避免多次申请和释放带来的开销。
一般读取超大文件到内存、超大数组、大循环内存没有释放等都会出现内存占用过大。
php.ini 通过memery_limit或者在代码里ini_setl来设置最大内存
php内存是通过zendmm来进行管理的,主要包括接口层,堆层和存储层
php对内存的管理主要围绕小块内存列表,大块内存列表和剩余内存列表分层进行的。
1、内存检查,如果太大则报错
2、如果命中缓存,则使用fastcache中内存块
3、在zendMM中heap层根据申请大小从小块内存、大块内存、剩余内存中查找合适内存
4、如果还没合适的,则直接再申请一块内存
5、重设heap状态
6、返回内存地址、标志变量维护
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: 为什么PHP中in_array效率低