Bug #81536 [Opn]: Resident Memory not returned after use

From: Date: Mon, 18 Oct 2021 10:16:23 +0000
Subject: Bug #81536 [Opn]: Resident Memory not returned after use
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237257@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81536&edit=1 ID: 81536 User updated by: dev at alepe dot com Reported by: dev at alepe dot com Summary: Resident Memory not returned after use Status: Open Type: Bug Package: Performance problem Operating System: Linux PHP Version: 7.3.31 Block user comment: N Private report: N New Comment: I think the related bug report may be related, however executing gc_mem_caches() didn't worked for me. I added it in both: auto_prepend_file and auto_append_file directives. I confirmed the code is being executed. Tested in two separate containers in two separate servers (hosts). Previous Comments: ------------------------------------------------------------------------ [2021-10-18 08:48:33] nikic@php.net It would probably make sense to add an ini option to not retain cached allocator chunks across requests. The current caching strategy assumes that the PHP process is going to be rapidly reused, which is not the case in this particular setup with many rarely accessed sites served by independent PHP processes. ------------------------------------------------------------------------ [2021-10-18 08:18:59] cmb@php.net This looks like a duplicate of bug #80108. Also note that PHP 7.3 is no longer actively supported[1]. [1] <https://www.php.net/supported-versions.php> ------------------------------------------------------------------------ [2021-10-18 07:03:45] dev at alepe dot com Description: ------------ PHP7-PHP8 is not releasing "Resident Memory" back to the OS after use (specially Wordpress sites). PHP5 works as expected, example: PHP5 : 10MB ---> 95MB ---> 10MB PHP7+ : 10MB ---> 95MB ---> 95MB Versions Used: * PHP7 versions 7.2, 7.3, 7.4 and 8.0 (running as FastCGI in lighttpd) * Linux OS: Alpine 3.10, Alpine 3.14 and Ubuntu 20.04 * Wordpress: 5.7, 5.8 I have tested it without Wordpress (using the provided test script) but the result is not conclusive (across versions), however when using Wordpress, it always happen. We noticed after several sites (about 500 sites) were updated from PHP 5 to PHP 7 (running in LXD containers), as the memory consumption increased about 3 to 4 times, making the server performance to go down drastically (server started to swap more often). Even when the sites are not accessed for a long time, the memory is not released. Settings: Almost all sites are running the default settings (opcache is OFF) Memory checking tools: htop, top and lxc info Modules used: ctype curl date dom filter gd hash iconv json libxml mbstring mysqli mysqlnd openssl pcre readline Reflection session SPL standard xml xmlreader xmlrpc xmlwriter zip zlib Test script: --------------- <?php // NOTE: this code SOMETIMES produces the problem described above, // and sometimes it won't. $m = ""; for($i = 0; $i < 110000; $i++) { $m .= "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; } sleep(3); echo "DONE"; ?> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=81536&edit=1

« previous php.bugs (#237257) next »