`

nginx 源码学习笔记(七)——内存分配相关源码分析

 
阅读更多

内存分配相关

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模块开发指南》和《深入理解Nginx》等,方便初学者了解nginx设计思想以及源码

    mac无坑安装nginx(csdn)————程序.pdf

    mac无坑安装nginx(csdn)————程序

    nginx源码分析文档

    nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析nginx源码分析

    nginx源码剖析

    nginx源码说明;其他下载即可,没下载分了,大家互相帮忙。其他情况大概就这些吧,其他也没什么好说的了,看文档即可

    nginx源码 1.18版

    nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码

    nginx学习笔记.zip

    nginx学习笔记.zip

    nginx笔记.zip

    nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记nginx笔记

    nginx源码分析

    nginx源码分析,整合网络资源精彩呈现,分析的很详细,并附有源码解释,作者:http://blog.csdn.net/kenbinzhang

    Nginx 从入门到实践——视频链接

    nginx代理 从入门到实践 详细讲解分析,入门到精通,满足企业部署,反向代理,静态资源部署,并发

    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 安装配置——WEB页面

    搭建nginx php时参考的网页,具体搭建过程见我的博客

    Nginx学习笔记

    Nginx学习笔记 Nginx 是一个流行的开源 Web 服务器软件,能够处理高并发请求,常用于搭建高性能的 Web 服务器。本文将对 Nginx 的安装、配置、日志管理等方面进行详细的介绍。 一、Nginx 的安装 Nginx 的安装可以...

    nginx各版本源码包

    压缩包内有四个版本的nginx,可根据自己的需求安装相应的软件包。使用方法:下载资源包--->将需要的版本导入到linux主机中--->tar解压得到nginx源码包--->源码编译安装

    Nginx源码剖析

    本书详细介绍了Nginx的进程模型,内存管理,request请求的解析,handler的处理等

    带有注释的nginx源码

    带有详细注释的nginx源码,能帮你有效地阅读和学习nginx源码

    Nginx源代码分析.pdf

    本文档旨在对 Nginx 的源代码进行分析,了解其目录结构、基本数据结构、内存分配机制等关键组件。 一、目录结构 Nginx 的源代码目录结构层次明确,从自动编译脚本到各级的源码,层次都很清晰,是一个大型服务端...

    Nginx学习笔记.md

    这是我自学nginx的学习笔记,上传只是为了更好的督促自己学习,如果你也有同感,加入一起学习吧。

    Nginx学习笔记.zip

    Nginx教程

Global site tag (gtag.js) - Google Analytics