Nginx-内存池

系列文章目录

Nginx资源目录简介
第一章 Nginx学习入门之内存池分析


文章目录

  • 系列文章目录
  • Ngxin内存池简介
  • 一、nginx内存池结构体?
  • 二、使用步骤
    • 1.Ngix 内存池原理
    • 内存作用范围
  • 总结


Ngxin内存池简介

Nginx的内存池是内存的管理的一个特色,内存池的使用提高了对于内存的使用效率。Nginx 对于内存池使用是依赖于每个连接的。内存池的核心作用是避免操作系统分配过程当中产生小碎片。


提示:以下是本篇文章正文内容,下面案例可供参考

一、nginx内存池结构体?

nginx内存池涉及文件ngx_palloc.h和ngx_palloc.c这两个文件。

typedef struct ngx_pool_large_s  ngx_pool_large_t;

/**
 * @brief Nginx 大块
 * 
 */
struct ngx_pool_large_s {
    ngx_pool_large_t     *next;
    void                 *alloc;
};

/**
 * @brief ngx 小块
 */
typedef struct {
    u_char               *last;      /**< 可以使用的内存的开始位置*/
    u_char               *end;        /**小块内存的最大位置*/
    ngx_pool_t           *next;       /**< 指向下一块内存小块*/
    ngx_uint_t            failed;
} ngx_pool_data_t;

/**
 * @brief Nginx 内存池是管理一个大块的集合和小块的集合
 * 
 */
struct ngx_pool_s {
    ngx_pool_data_t       d;         /**ngix 内存池的数据小块内存*/
    size_t                max;       /**< nginx pool 的大小 */
    ngx_pool_t           *current;   /**< nginx pool 当前位置*/
    ngx_chain_t          *chain;
    ngx_pool_large_t     *large;      /**< nginx pool 大块内存*/
    ngx_pool_cleanup_t   *cleanup;
    ngx_log_t            *log;
};

二、使用步骤

1.Ngix 内存池原理

Ngix 大块示意图:
Nginx-内存池_第1张图片

nginx 小块示意图
Nginx-内存池_第2张图片

内存作用范围

代码如下(示例):TODO


总结

提示:这里对文章进行总结:

你可能感兴趣的:(Nginx,nginx,运维,linux)