Comment puis-je surveiller l'utilisation de la mémoire de php sous linux?
J'ai utilisé valgrinds massif outil pour surveiller l'utilisation de la mémoire dans le passé.
Personne ne sait comment capter l'utilisation de la mémoire de php processus qui sont générés sur un linux serveur lighttpd?
J'ai trouvé que Valgrind ne peut s'attacher à un prerunning processus (et je ne saurais pas le PID du processus php avant de la main de toute façon)
Je ne vois que lighttpd l'utilisation de la mémoire, pas le PHP processus qui sont générés par lighttpd module cgi.
Merci d'avance.
OriginalL'auteur DEzra | 2009-07-02
Vous devez vous connecter pour publier un commentaire.
PHP dispose de sa propre mémoire, des fonctions de test, je ne sais pas si c'est pour vous, mais si vous voulez juste pour vous connecter, vous pouvez utiliser:
http://php.net/manual/en/function.memory-get-peak-usage.php
ajouter le booléen vrai que le premier paramètre de memory_get_peak_usage(vrai) sera le retour de la mémoire pour le processus PHP, trop.
OriginalL'auteur scragar
Ne pouvez pas vous utiliser le 'ps' outil?
RSS est la Réel de la mémoire (résidente) taille en kilo-octets du processus.
Pour résumer le tout en bash (un peu rouillé désolé)
Un liner:
Je sais que la fiabilité de la mémoire de la partie dans ps est remise en question, mais au moins ça vous donne une idée de ce que l'utilisation est comme.
OriginalL'auteur Palm
En plus de l'accumulation dans les commandes ci-dessus, vous pouvez utiliser XHProf pour le profilage de vos scripts et XHGui pour montrer le profilage des résultats dans une belle application de navigateur. Vous obtenez des informations détaillées sur la manière de vos méthodes d'utilisation de la mémoire et quelles sont les sommets de l'utilisation de la mémoire au sein de votre application.
Merci, je l'ai toujours à entendre parler de nouveaux outils pour le profilage. Je vais sans hésiter découvrez XHProf et XHGUI
OriginalL'auteur Michael Lihs
http://php.net/manual/en/function.memory-get-usage.php
Devrait vous donner la quantité de mémoire que le thread est utilisé dans le script lui-même. Je pense que parce que le script (et fils) n'existe que pour quelques millisecondes au plus juste le temps qu'il faut pour générer la page de la capture à l'extérieur de PHP peut être difficile.
Vous pouvez également obtenir des informations de débogage du serveur qui peut être plus précis - je utiliser xdebug personnellement, et quand elle lève une erreur/avis il vous donne une trace de la pile, l'heure et l'utilisation de la mémoire. Vous pouvez déclencher à la fin du script avec:
Et il va vous donner l'info. Je ne suis pas sûr qu'à la capture de données - si vous avez besoin de il y a peut être une fonction de la doc sur comment - je me souviens vaguement avoir vu un.
J'ai mis à jour ma réponse un peu - xdebug peut être obtenu/a regardé à partir de xdebug.org
OriginalL'auteur Meep3D