1 votes

Magento détient des fichiers supprimés

Soudainement, mon serveur a manqué de mémoire. J'ai essayé de vérifier l'espace disque en utilisant la commande "df -k", mais tout était en ordre. Après avoir suivi de nombreuses pistes, j'ai découvert que le service httpd conservait des fichiers supprimés en mémoire temporaire, ce qui ne pouvait pas être détecté par "df -k". Pour vérifier les derniers fichiers supprimés encore en service, j'ai utilisé la commande "sudo lsof | grep deleted".

httpd 58324 58501 apache 8ur REG 253,0 0 279075355 /tmp/.ZendSem.SpCcXd (supprimé)

entrez ici la description de l'image

Il s'agit d'une application Magento sur un serveur centos7 (linux) avec apache 2.4.6. Après avoir passé un certain temps, j'ai découvert que lorsque j'arrêtais apache et exécutais la commande "sudo lsof | grep deleted", je n'avais aucun problème. Dès que je redémarrais apache et vérifiais la commande "sudo lsof | grep deleted", le problème réapparaissait comme le montre la capture d'écran ci-jointe.

2voto

BillThor Points 27096

J'ai rencontré ce problème avec différentes applications sur différentes plates-formes. Il s'agit d'un problème de codage courant où le code qui utilise des fichiers ne ferme pas le fichier lorsqu'il en a fini avec. Le code devrait toujours fermer le fichier une fois qu'il a fini de travailler avec.

Une méthode courante de sécurisation des fichiers temporaires consiste à ouvrir le fichier, le supprimer, puis travailler avec. C'est peut-être ce qui se fait ici. Cependant, le fichier reste en existence jusqu'à ce qu'il soit fermé.

Une solution de contournement consisterait à limiter le nombre de requêtes qu'un processus Apache gérera avant de s'arrêter. Les fichiers seront fermés lorsque le processus se termine. En fixant MaxRequestsPerChild quelque part entre 100 et 1000, on peut atténuer le problème. La valeur par défaut est de 10000.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X