内存分配相关
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 源码 解析 ,非常全 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学习笔记 Nginx 是一个流行的开源 Web 服务器软件,能够处理高并发请求,常用于搭建高性能的 Web 服务器。本文将对 Nginx 的安装、配置、日志管理等方面进行详细的介绍。 一、Nginx 的安装 Nginx 的安装可以...
压缩包内有四个版本的nginx,可根据自己的需求安装相应的软件包。使用方法:下载资源包--->将需要的版本导入到linux主机中--->tar解压得到nginx源码包--->源码编译安装
本书详细介绍了Nginx的进程模型,内存管理,request请求的解析,handler的处理等
带有详细注释的nginx源码,能帮你有效地阅读和学习nginx源码
本文档旨在对 Nginx 的源代码进行分析,了解其目录结构、基本数据结构、内存分配机制等关键组件。 一、目录结构 Nginx 的源代码目录结构层次明确,从自动编译脚本到各级的源码,层次都很清晰,是一个大型服务端...
这是我自学nginx的学习笔记,上传只是为了更好的督促自己学习,如果你也有同感,加入一起学习吧。
Nginx教程