2010-10-19 4 views
0

J'ai un site utilisant cakephp1.2.8 fonctionnant sur un serveur ubuntu9.04. Cela fonctionne bien avec 16M memory_limit. Maintenant, j'ai déplacé le site vers un nouveau VPS CentOS5.5. Ensuite, le serveur commence à montrer des erreurs comme celle-ci:cakephp allouer de la mémoire énorme sur un nouveau serveur

Erreur fatale: taille maximale autorisée pour la mémoire de 268435456 octets épuisé (a essayé d'allouer 342095888 octets) in Unknown on line 0

Il affiche correctement les pages, mais montre cette erreur à le fond. Le nombre d'octets qu'il a tenté d'allouer est aléatoire. Ai-je manqué quelque chose?

Répondre

0

Le nouveau serveur 64bit? Le nouveau serveur a-t-il plus de modules apache/php que l'autre?

CakePHP est gras ... nous avons le nôtre fixé à 90 ~ MB

Vous pouvez toujours passer par l'index/répartiteur/contrôleurs et débogage avec l'utilisation de la mémoire et les décharges.

La nouvelle base de données VPS DB contient-elle également plus de données? Vous pourriez tirer sur de nombreux objets avec vos trouvailles, vous pourriez vouloir limiter la requête/récursivité.

J'espère que ça aide

+0

Merci pour vos conseils. Cakephp est gros, mais 256M semble difficile à croire. Ce problème se produit uniquement lorsqu'il y a des requêtes db. Cela fonctionne sur un autre hôte avec 16M et exactement les mêmes données. – Purui

+0

Quand j'ai regardé rapidement je pensais que c'était 26/34Mb. Je voudrais parcourir et regarder une sortie de la mémoire de débogage, et également vérifier les requêtes DB. – Wizzard

+0

J'espère que j'ai aidé :) Je voudrais aussi jeter un oeil à l'application avec xdebug. Je me demande si vous avez des requêtes qui essaient d'interroger toutes les bases de données sur le serveur, ou des tables? Ou avez-vous une table de notation qui est devenue grande maintenant? Je voudrais; * Activez le niveau de débogage 2 et vérifiez toutes les requêtes. * Désactivez le débogage et exécutez avec xdebug. – Wizzard

Questions connexes