|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2021-10-18 08:18 UTC] cmb@php.net
[2021-10-18 08:48 UTC] nikic@php.net
[2021-10-18 10:16 UTC] dev at alepe dot com
[2021-10-18 10:19 UTC] dev at alepe dot com
[2021-10-19 04:23 UTC] dev at alepe dot com
-PHP Version: 7.3.31
+PHP Version: 7+
[2021-10-19 04:23 UTC] dev at alepe dot com
[2021-12-01 15:21 UTC] cmb@php.net
-Summary: Resident Memory not returned after use
+Summary: Add ini option to not retain cached allocator chunks
across requests
-Type: Bug
+Type: Feature/Change Request
[2023-01-31 11:15 UTC] neskemiquel at gmail dot com
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 00:00:01 2025 UTC |
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"; ?>