ngx_slab_stat
该模块可以提供NGINX/Tengine共享内存的状态信息。
示例
获取NGINX/Tengine共享内存池的slab和空闲页状态信息
http { |
请求URI /slab_stat,可以获取到该NGINX/Tengine实例的共享内存使用情况统计。
页面输出如下:
$ curl http://localhost:80/slab_stat |
共享内存使用情况统计
数据说明
每个数据段落的前三行表明共享内存的总使用信息及空闲页(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 需要补丁支持(参考安装说明)
安装说明
源码安装,执行如下命令:
$ wget http://nginx.org/download/nginx-1.13.4.tar.gz |
注意:若NGINX版本低于 1.13.x 或者 Tengine版本低于 2.1.1,请安装补丁文件slab_stat.patch
后再编译二进制版本,该补丁文件可以自行比对NGINX 1.13.4 版本生成。
$ patch -p1 < /path/to/ngx_slab_stat/slab_stat.patch |
配置指令
语法: slab_stat
默认: none
位置: server, location
NGINX/Tenigne实例的共享内存状态信息可以通过该location访问得到。
注意信息
仅支持NGINX官方指令分配的共享内存和lua-nginx-module分配的共享内存。