内存分配相关
1.系统功能封装
内存相关的操作主要在os/unix/ngx_alloc.{h,c} 和 core/ngx_palloc.{h,c}中。
其中os/unix/ngx_alloc.{h,c}封装了最基本的内存分配函数,是对c原有的malloc/free/memalign等函数的封装,对应函数为:
a.ngx_alloc:对malloc进行了简单的封装;
b.ngx_calloc:使用ngx_alloc分配内存,并且把内存赋值0:
c. ngx_memalign 返回基于一个指定的alignment大小的数值为对齐基数的空间
d.ngx_free 内存释放操作
2. nginx内存池
为了方便系统模块对内存的使用,方便内存的管理,nginx自己是信了进程池机制来进行内存的分配和释放,首先nginx会在特定的生命周期帮你统一建立内存池,当需要进行内存分配的时候同一通过内存池中的内存进行分配,最后nginx会在适当的时候释放内存吃的资源,开发者只要在需要的时候对内存进行申请即可,不用过多考虑释放的问题,这也就是在os/unix/ngx_alloc.c文件中没有看到free操作的原因吧。
下面来看一下内存池的主要结构:
下面是几个比较重要的操作
分享到:
相关推荐
Nginx 源码分析笔记 自己的源码分析笔记,未完。
自己的nginx源码学习资料,包含《Nginx模块开发指南》和《深入理解Nginx》等,方便初学者了解nginx设计思想以及源码
mac无坑安装nginx(csdn)————程序
nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析
nginx源码说明;其他下载即可,没下载分了,大家互相帮忙。其他情况大概就这些吧,其他也没什么好说的了,看文档即可
nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码
nginx学习笔记.zip
nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记
nginx源码分析,整合网络资源精彩呈现,分析的很详细,并附有源码解释,作者:http://blog.csdn.net/kenbinzhang
nginx代理 从入门到实践 详细讲解分析,入门到精通,满足企业部署,反向代理,静态资源部署,并发
Nginx学习笔记
nginx源码分析,分析过程中将重要的部分进行了注释,以便理解
收集的 nginx 源码 解析 ,非常全 architecture.png Emiller的Nginx模块开发指南.docx Nginx(en).pdf nginx@taobao.pdf nginx_internals.pdf nginx核心讲解(0.2).doc nginx核心讲解(0.4).doc Nginx模块开发指南中文...
搭建nginx php时参考的网页,具体搭建过程见我的博客
本书详细介绍了Nginx的进程模型,内存管理,request请求的解析,handler的处理等
带有详细注释的nginx源码,能帮你有效地阅读和学习nginx源码
这是我自学nginx的学习笔记,上传只是为了更好的督促自己学习,如果你也有同感,加入一起学习吧。
Nginx教程
本人在银行工作,基于生产环境搭建方法编写的Nginx源码安装手册,生产环境可参考此手册。
nginx-rtmp + ffmpeg;rtsp视频转流所需工具;livepush.war包