入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php内存管理之内存分配

创建时间:2017-03-18 投稿人: 浏览次数:116

鉴于系统开销的调用,一些对性能有要求的应用通常会在自己的用户态进行内存管理,比如在第一次申请一块较大的内存留着

备用,而不是使用完马上还给操作系统,可以进行复用,避免多次申请和释放带来的开销。

一般读取超大文件到内存、超大数组、大循环内存没有释放等都会出现内存占用过大。

php.ini 通过memery_limit或者在代码里ini_setl来设置最大内存

php内存是通过zendmm来进行管理的,主要包括接口层,堆层和存储层

php对内存的管理主要围绕小块内存列表,大块内存列表和剩余内存列表分层进行的。

1、内存检查,如果太大则报错

2、如果命中缓存,则使用fastcache中内存块

3、在zendMM中heap层根据申请大小从小块内存、大块内存、剩余内存中查找合适内存

4、如果还没合适的,则直接再申请一块内存

5、重设heap状态

6、返回内存地址、标志变量维护



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。