Possible memory leak?
Anoop Alias
anoopalias01 at gmail.com
Tue Mar 12 13:53:53 UTC 2019
I am able to reproduce the issue @wkbrad is reporting
[root at server1 ~]# ps_mem|head -1 && ps_mem|grep nginx
Private + Shared = RAM used Program
25.3 MiB + 119.5 MiB = 144.9 MiB nginx (3)
[root at server1 ~]# systemctl restart nginx
[root at server1 ~]# ps_mem|head -1 && ps_mem|grep nginx
Private + Shared = RAM used Program
24.2 MiB + 58.1 MiB = 82.2 MiB nginx (4)
--------------------------> notice the sharedmemory usage is half os what
is used before restart
[root at server1 ~]# ps_mem|head -1 && ps_mem|grep nginx
Private + Shared = RAM used Program
23.1 MiB + 57.9 MiB = 81.0 MiB nginx (3)
---------------------------> the cache loader process exits and the ram
usage remain same
[root at server1 ~]# nginx -s reload
---------------------------> A graceful reload is performed on Nginx
[root at server1 ~]# ps_mem|head -1 && ps_mem|grep nginx
Private + Shared = RAM used Program
15.8 MiB + 118.8 MiB = 134.5 MiB nginx (3)
----------------------------> The shared RAM size doubles and stay at this
value till another restart is performed
##############################################################################
I think this is because the pmap shows 2 heaps after reload whereas there
is only one right after the restart , An additional heap appears after
reload
[root at server1 ~]# systemctl restart nginx
[root at server1 ~]# ps aux|grep nginx
root 22392 0.0 0.7 510316 62184 ? Ss 13:49 0:00 nginx:
master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
[root at server1 ~]# pmap -X 22392|head -2 && pmap -X 22392|grep heap
22392: nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
Address Perm Offset Device Inode Size Rss Pss
Referenced Anonymous Swap Locked Mapping
01b10000 rw-p 00000000 00:00 0 61224 58688 17187
80 58688 0 0 [heap]
Now after the reload
[root at server1 ~]# pmap -X 20983|head -2 && pmap -X 20983|grep heap
20983: nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
Address Perm Offset Device Inode Size Rss Pss
Referenced Anonymous Swap Locked Mapping
02780000 rw-p 00000000 00:00 0 61224 61220 23118
51540 61220 0 0 [heap]
0634a000 rw-p 00000000 00:00 0 57856 55360 19138
55360 55360 0 0 [heap]
###########################################################################
On Tue, Mar 12, 2019 at 2:07 AM wkbrad <nginx-forum at forum.nginx.org> wrote:
> Hi All,
>
> I think I haven't been clear in what I'm seeing so let's start over. :) I
> set up a very simple test on Centos 7 with a default install of Nginx
> 1.12.2. Below is exactly what I did to produce the result and it's clear
> to
> me that Nginx is using 2x the ram than it should be using after the first
> reload. Can anyone explain why the ram usage would double after doing a
> config reload?
>
> yum update
> reboot
> yum install epel-release
> yum install nginx
> systemctl enable nginx
> systemctl start nginx
> yum install ps_mem vim
> cd /etc/nginx/
> vim vhost.template
>
> --------------------------------------------------------------------------------
> server {
> listen 80;
> listen [::]:80;
>
> server_name {{DOMAIN}};
>
> root /var/www/html;
> index index.html;
>
> location / {
> try_files $uri $uri/ =404;
> }
> }
>
> --------------------------------------------------------------------------------
> cd conf.d
> for i in $(seq -w 1 50000); do sed 's/{{DOMAIN}}/dom'${i}'.com/'
> ../vhost.template > dom${i}.conf; done
> systemctl restart nginx
> ps_mem|grep nginx
>
> --------------------------------------------------------------------------------
> 13.8 MiB + 750.7 MiB = 764.5 MiB nginx (3)
>
> --------------------------------------------------------------------------------
> systemctl reload nginx; sleep 60; ps_mem |grep nginx
>
> --------------------------------------------------------------------------------
> 27.2 MiB + 1.4 GiB = 1.5 GiB nginx (3)
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?2,283216,283344#msg-283344
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
--
*Anoop P Alias*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20190312/9aa413bd/attachment.html>
More information about the nginx
mailing list