जैसा कि आप शायद जानते हैं, Xdebug ने 2. * संस्करण के बाद मेमोरी प्रोफाइलिंग समर्थन को छोड़ दिया। "हटा कार्यों" स्ट्रिंग यहाँ के लिए खोज करें: http://www.xdebug.org/updates.php
Removed functions
Removed support for Memory profiling as that didn't work properly.
तो मैं एक और उपकरण की कोशिश की है और यह मेरे लिए अच्छी तरह से काम किया।
https://github.com/arnaud-lb/php-memory-profiler
यह वह जगह है मैं अपने Ubuntu सर्वर पर क्या किया है इसे सक्षम करने के:
sudo apt-get install libjudy-dev libjudydebian1
sudo pecl install memprof
echo "extension=memprof.so" > /etc/php5/mods-available/memprof.ini
sudo php5enmod memprof
service apache2 restart
और फिर मेरी कोड में:
<?php
memprof_enable();
// do your stuff
memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));
अंत के साथ callgrind.out
फ़ाइल को खोलने के KCachegrind
फिर हमेशा की तरह:
sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install
अब अपने कोड में:
memprof_enable();
// do your magic
memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));
उपकरण
सबसे पहले गूगल यहां नवीनतम पैकेज को डाउनलोड करके gperftools स्थापित
फिर अपना टर्मिनल खोलें और लॉन्च करें:
pprof --web /tmp/profile.heap
pprof कुछ के साथ अपने मौजूदा ब्राउज़र सत्र में एक नई विंडो पैदा करेगा नीचे दिखाया गया है जैसे:
Xhprof + Xhgui (मेरी राय में सबसे अच्छा दोनों CPU और स्मृति प्रोफ़ाइल)
साथ Xhprof और Xhgui तुम भी या सिर्फ स्मृति उपयोग cpu उपयोग प्रोफ़ाइल सकते हैं कि अगर टी पर अपने मुद्दा है वह पल यह एक बहुत ही संपूर्ण समाधान है, यह आपको पूर्ण नियंत्रण देता है और लॉग दोनों को मोंगो या फाइल सिस्टम में लिखा जा सकता है।
अधिक जानकारी के लिए see my answer here।
Blackfire
Blackfire SensioLabs द्वारा एक PHP प्रोफाइलर है, Symfony2 लोग https://blackfire.io/
आप puphpet का उपयोग करते हैं अपने आभासी मशीन स्थापित करने के लिए आप जानते हैं करने में प्रसन्नता होगी समर्थित है ;-)
[PHP मेमोरी प्रोफाइलिंग] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/880458/php-memory-profiling) –