• ngx_slab_stat
  • 示例
    • 获取NGINX/Tengine共享内存池的slab和空闲页状态信息
    • 共享内存使用情况统计
  • 数据说明
  • NGINX兼容性
  • Tengine兼容性
  • 安装说明
  • 配置指令
  • 注意信息

    ngx_slab_stat

    该模块可以提供NGINX/Tengine共享内存的状态信息。

    示例

    获取NGINX/Tengine共享内存池的slab和空闲页状态信息

    1. http {
      server {
      listen 80;

      location = /slab_stat {
      slab_stat;
      }
      }
      }

    请求URI /slab_stat,可以获取到该NGINX/Tengine实例的共享内存使用情况统计。页面输出如下:

    1. $ curl http://localhost:80/slab_stat
      * shared memory: one
      total: 102400(KB) free: 101792(KB) size: 4(KB)
      pages: 101792(KB) start:0000000003496000 end:0000000009800000
      slot: 8(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 16(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 32(Bytes) total: 127 used: 1 reqs: 1 fails: 0
      slot: 64(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 128(Bytes) total: 32 used: 1 reqs: 1 fails: 0
      slot: 256(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 512(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 1024(Bytes) total: 0 used: 0 reqs: 0 fails: 0
      slot: 2048(Bytes) total: 0 used: 0 reqs: 0 fails: 0

    共享内存使用情况统计

    数据说明

    每个数据段落的前三行表明共享内存的总使用信息及空闲页(free pages)信息,剩余行表明slab的使用信息,数据项意义如下:

    • shared memory: 共享内存池的名称信息

    • total: 该共享内存池总内存占用

    • free: 该共享内存池空闲内存

    • size: 该共享内存池的页大小

    • pages: 可供分配的连续页

    • start: 可供分配的连续页起始地址

    • end: 可供分配的连续页末尾地址

    • slot: 可供分配的slot(不同大小代表不同的slot队列)

    • total: 总的slot个数

    • used: 已使用的slot个数
    • reqs: 申请分配次数
    • fails: 申请失败次数

    NGINX兼容性

    • 1.13.4 (stable version of 1.13.x)
      NGINX版本低于 1.13.x 需要补丁支持(参考安装说明)

    Tengine兼容性

    • 2.1.1 (stable version of 2.1.x)
      Tengine版本低于 2.1.x 需要补丁支持(参考安装说明)

    安装说明

    源码安装,执行如下命令:

    1. $ wget http://nginx.org/download/nginx-1.13.4.tar.gz
      $ tar -xzvf nginx-1.13.4.tar.gz
      $ cd nginx-1.13.4/
      $ ./configure --add-module=/path/to/ngx_slab_stat
      $ make -j4 && make install

    注意:若NGINX版本低于 1.13.x 或者 Tengine版本低于 2.1.1,请安装补丁文件slab_stat.patch后再编译二进制版本,该补丁文件可以自行比对NGINX 1.13.4 版本生成。

    1. $ patch -p1 < /path/to/ngx_slab_stat/slab_stat.patch

    配置指令

    语法: slab_stat

    默认: none

    位置: server, location

    NGINX/Tenigne实例的共享内存状态信息可以通过该location访问得到。

    注意信息

    仅支持NGINX官方指令分配的共享内存和lua-nginx-module分配的共享内存。

    原文: http://tengine.taobao.org/document_cn/ngx_slab_stat_cn.html