Bonsoir à tous!
Je me débats en ce moment pas mal avec une erreur "Out of memory" de PHP. Après pas mal de lectures sur cette erreur, j'ai réussi à résoudre (pour le moment ...) l'erreur en augmentant la taille de la mémoire allouée à PHP (passant de 128Mo à 256Mo ce qui est je pense assez conséquent). Même si l'erreur est pour le moment résolue je continue de me poser des questions et j'essaye d'anticiper la suite. Voici mes quelques questions:
- La mémoire allouée à PHP est-elle un cumul basé sur tous les utilisateurs actuellement sur le site. Pour être plus clair prenons une mémoire à 256Mo. Chaque client a-t-il pour chaque génération de page un maximum de 256Mo alloué à PHP par le serveur ou les 256Mo sont-ils répartis entre les différents utilisateurs? Après quelques tests à l'aide de la fonction memory_get_usage placé dans le footer, il apparait que la page ne demande environ que 20Mo.
- Une question découle de la première. L'erreur affichait un "Allocated %M" et un "Tried to allocate %M" bien inférieur à l'ancienne limite. De mémoire il allouait 30Mo et essayait d'allouer "16 bytes" alors que la limite était de 128M. Ce n'est pas la première fois que je vois ce soucis de la requête qui essaye d'allouer une quantité inférieure à la limite ... mais qui plante quand même!
- Peut-on à coup sûr dire: L'erreur "Out of memory" n'est pas due au serveur mais aux scripts hébergés sur ce serveur? Je suis actuellement chez Gandi sur un mutualisé (1 coeur, environ 2Go de RAM et 5M de bande)
Ces différentes remarques sont un peu en vrac. N'importe quelle remarque ou piste pourrait m'aider. Je précise que je suis sur un Wordpress (qui n'a d'ailleurs pas grand chose d'un Wordpress car il est assez customisé par des classes etc.) / qui tourne sur PHP5 / et donc chez Gandi!
Un grand merci d'avance pour vos réponses!
Thomas
Partager