memory usage increasing when using opcache.enable_cli and opcache.file_cache_only
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
The below script using opcache.enable_cli=1 and opcache.file_cache_only=1 causes the PHP memory usage to continue to increase. If I disable file_cache_only, then the memory usage remains constant. I was able to reproduce in PHP 8.1, 8.2, and 7.4.
To reproduce, set-up scripts test.php and test2.php as listed below, create an empty directory /tmp/opcache, and then run:
php \
-n \
-d "zend_extension=opcache" \
-d "opcache.enable_cli=1" \
-d "opcache.file_cache=/tmp/opcache" \
-d "opcache.file_cache_only=1" \
test.php
When I run the above, the value of memory_get_usage() continues to increase. If I remove the line for "opcache.file_cache_only=1", then memory_get_usage() remains constant.
If it doesn't happen the 1st time, then try running it a 2nd time.
Can you please check why the memory usage continues to grow in this scenario?
Thanks for your help.
test.php:
<?php
for ($i = 0; $i < 10000; $i++)
{
echo number_format(memory_get_usage())."\n";
require('test2.php');
}
test2.php:
<?php
return;
PHP Version
PHP 8.1.11
Operating System
AlmaLinux 8
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter les scripts fournis test.php et test2.php avec opcache.enable_cli=1 et opcache.file_cache_only=1, puis comparez memory_get_usage() avec file_cache_only désactivé. Étudiez le chemin du cache de fichiers PHP opcache impliqué dans les require répétés de test2.php ; le travail est terminé lorsque l’augmentation signalée est expliquée et que la reproduction ne montre plus d’augmentation de mémoire.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- performance
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100