I’m wondering if you are overthinking this. You said that the memory was reused when the workload increased again. Linux memory management is unintuitive. What would happen if you used a different metric, say # active connections, as your autoscaling metric? It sounds like this would behave “better”.
> On 29 Jul 2019, at 3:10 PM, Maxim Dounin <[email protected]> wrote: > > Hello! > > On Mon, Jul 29, 2019 at 02:52:47PM -0400, aledbf wrote: > >>> on your system allocator and its settings. >> >> Do you have a suggestion to enable this behavior (release of memory) using a >> particular allocator or setting? >> Thanks! > > On FreeBSD and/or on any system with jemalloc(), I would expect > memory to be returned to the OS more or less effectively. > > On Linux with standard glibc allocator, consider tuning > MALLOC_MMAP_THRESHOLD_ and MALLOC_TRIM_THRESHOLD_ environment > variables, as documented here: > > http://man7.org/linux/man-pages/man3/mallopt.3.html > > Note that you may need to use the "env" directive to > make sure these are passed to nginx worker processes as well. > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
