开发者社区 问答 正文

nginx 共享内存过高

环境是 nginx+php-fpm;

在压力测试时,某台服务器 top信息中, nginx所占的 shr 是其他服务器的6倍,

两台服务器 硬件配置一样!

展开
收起
a123456678 2016-06-15 15:37:11 2484 分享 版权
1 条回答
写回答
取消 提交回答
  • 剖析top命令显示的VIRT RES SHR值:
    top命令通过解析/proc//statm统计VIRT和RES和SHR字段值.
    VIRT是申请的虚拟内存总量.
    RES是进程使用的物理内存总和.
    SHR是RES中"映射至文件"的物理内存总和,包括:
    程序的代码段.
    动态库的代码段.
    通过mmap做的文件映射.
    通过mmap做的匿名映射,但指明了MAP_SHARED属性.
    通过shmget申请的共享内存.

    估计是你的这台服务器访问量比较大,而且开启了proxy_cache或fastcgi_cache缓存,所以Nginx用nmap把缓存文件映射到内存,跨进程共享数据,所以占用的共享内存SHR比较大.

    2019-07-17 19:39:28
    赞同 展开评论
问答分类:
问答地址: