Welcome! Log In Create A New Profile

Advanced

Re: Possible memory leak?

March 21, 2019 11:29AM
Thanks again Maxim! You're really providing some valuable insights for me.

> This is because mmap()-based individual allocations imply additional
> overhead. Using mmapAnd this is are costly.

That's what I figured might be going on. I assume there are also some negative impacts on performance with accessing memory that is allocated via mmap. Is that right?

> On FreeBSD you'll see that _virtual_ memory usage grows on reload,
> but the actual memory is returned to the system and can be used by
> other processes.

Actually, I see an increase in virtual and resident. Here are my tests from FreeBSD.
--------------------------------------------------------------------------------
service nginx restart; sleep 10; echo; ps aux|grep -v grep|egrep 'RSS|nginx'

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 923 0.0 5.4 121840 110368 - Ss 08:10 0:00.00 nginx: master process /usr/local/
www 924 0.0 5.4 121840 110372 - S 08:10 0:00.01 nginx: worker process (nginx)
--------------------------------------------------------------------------------
service nginx reload; sleep 10; echo; ps aux|grep -v grep|egrep 'RSS|nginx'

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 923 0.0 10.2 219828 209388 - Ss 08:10 0:00.44 nginx: master process /usr/local/
www 940 0.0 10.2 219828 209384 - S 08:10 0:00.01 nginx: worker process (nginx)
--------------------------------------------------------------------------------

Those tests look exactly like the Linux tests and it's definitely not released back to the system.

I think a big part of this is the 2 heaps that Anoop found. Nginx seems to be using those 2 heaps in a round robin way when it reloads. It looks like it's doing this.
Startup: 1st heap is created
1st Reload: 2nd heap is created
2nd Reload: 1st heap is cleared and used but 2nd heap stays in memory.

So on the 2nd reload is does indeed clear that memory for the heap it is using. Is there any way for us to manually clear the unused heap?

Even in the case of my test VM using the adjusted malloc, it still creates the second heap and does not clear it. It's just not putting much in the heap in my test VM.

You may be asking why I'm even looking into this and I've had a lot of push back and questions as to why I'm doing this. My point is this. Even if Nginx on my server is only using 50M of ram, wouldn't it better for it to use only 25M when that's all it needs? That's clearly a problem in my mind. Can you address why that is not a problem?
Subject Author Posted

Possible memory leak?

wkbrad February 28, 2019 01:43PM

Re: Possible memory leak?

Maxim Dounin February 28, 2019 03:08PM

Re: Possible memory leak?

wkbrad February 28, 2019 03:54PM

Re: Possible memory leak?

Maxim Dounin February 28, 2019 04:50PM

Re: Possible memory leak?

wkbrad February 28, 2019 05:06PM

RE: Possible memory leak?

Reinis Rozitis February 28, 2019 05:28PM

Re: Possible memory leak?

Alceu R. de Freitas Jr. via nginx February 28, 2019 06:02PM

Re: RE: Possible memory leak?

wkbrad February 28, 2019 06:44PM

Re: Possible memory leak?

wkbrad March 07, 2019 01:33PM

Re: Possible memory leak?

Anoop Alias March 07, 2019 08:06PM

Re: Possible memory leak?

wkbrad March 07, 2019 09:35PM

Re: Possible memory leak?

Anoop Alias March 07, 2019 10:10PM

Re: Possible memory leak?

wkbrad March 08, 2019 10:39AM

Re: Possible memory leak?

Anoop Alias March 08, 2019 06:54PM

Re: Possible memory leak?

gariac March 08, 2019 01:10AM

Re: Possible memory leak?

wkbrad March 08, 2019 10:42AM

Re: Possible memory leak?

gariac March 08, 2019 08:08PM

Re: Possible memory leak?

wkbrad March 11, 2019 04:37PM

Re: Possible memory leak?

Anoop Alias March 12, 2019 09:56AM

Re: Possible memory leak?

Maxim Dounin March 12, 2019 10:40AM

Re: Possible memory leak?

Anoop Alias March 12, 2019 11:00AM

Re: Possible memory leak?

Maxim Dounin March 12, 2019 11:48AM

Re: Possible memory leak?

wkbrad March 12, 2019 02:09PM

Re: Possible memory leak?

Maxim Dounin March 12, 2019 09:58PM

Re: Possible memory leak?

Peter Booth via nginx March 13, 2019 01:44AM

Re: Possible memory leak?

Anoop Alias March 13, 2019 01:54AM

Re: Possible memory leak?

wkbrad March 20, 2019 06:41PM

Re: Possible memory leak?

Maxim Dounin March 21, 2019 09:46AM

Re: Possible memory leak?

Maxim Dounin March 21, 2019 09:48AM

Re: Possible memory leak?

wkbrad March 21, 2019 11:29AM

Re: Possible memory leak?

Maxim Dounin March 21, 2019 02:18PM

Re: Possible memory leak?

wkbrad March 21, 2019 05:55PM

Re: Possible memory leak?

Maxim Dounin March 25, 2019 08:40AM

Re: Possible memory leak?

wkbrad March 27, 2019 02:54PM

Re: Possible memory leak?

Maxim Dounin March 27, 2019 04:26PM

Re: Possible memory leak?

gariac March 13, 2019 01:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 89
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready