热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Nginx内存池(pool)分析

Nginx内存池管理的源码在srccorengx_palloc.h、srccorengx_palloc.c两个文件中。先将我整理的注释等内容贴上,方便下面分析:ngx_create_pool:创建poolngx_destory_pool:销毁poolngx_reset_pool:重置pool中的部分数据ngx_pallocngx

Nginx 内存池管理的源码在src/core/ngx_palloc.hsrc/core/ngx_palloc.c 两个文件中。

先将我整理的注释等内容贴上,方便下面分析:

ngx_create_pool:创建pool

ngx_destory_pool:销毁 pool

ngx_reset_pool:重置pool中的部分数据

ngx_palloc/ngx_pnalloc:从pool中分配一块内存

ngx_pool_cleanup_add:为pool添加cleanup数据

 

struct ngx_pool_cleanup_s {

    ngx_pool_cleanup_pt   handler;  // 当前 cleanup 数据的回调函数

    void                 *data;     // 内存的真正地址

    ngx_pool_cleanup_t   *next;     // 指向下一块 cleanup 内存的指针

};

 

struct ngx_pool_large_s {

    ngx_pool_large_t     *next;     // 指向下一块 large 内存的指针

    void                 *alloc;    // 内存的真正地址

};

 

typedef struct

推荐阅读
author-avatar
媛媛天下_945
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有