Nasıl linux phpin bellek kullanımını izleyebilirsiniz?

3 Cevap php

Ben geçmişte bellek kullanımını izlemek için valgrinds masif aracı kullanmış.

Herkes bir linux lighttpd'nin sunucuda kökenli php işlemlerin bellek kullanımını yakalamak için nasıl biliyor mu?

Ben Valgrind bir prerunning işlemi eklemek edemez (ve ben zaten elden önce php sürecin PID bilemeyiz) bulduk

Ben sadece Lighttpd bellek kullanımını değil, lighttpd'nin CGI modülü tarafından kökenli PHP süreçler bakın.

Şimdiden teşekkürler.

3 Cevap

Eğer 'ps' aracı kullanmak değil mi?

$ ps -F -C php-cgi

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
http     10794 10786  0  4073   228   0 Jun09 ?        00:00:00 /usr/bin/php-cgi
http     10795 10794  0  4073    28   0 Jun09 ?        00:00:00 /usr/bin/php-cgi
http     10796 10786  0  4073   228   0 Jun09 ?        00:00:00 /usr/bin/php-cgi
http     10797 10796  0  4613  3544   0 Jun09 ?        00:00:00 /usr/bin/php-cgi
...

RSS Real-memory (resident set) size in kilobytes of the process. olduğunu

Bash tüm özetlemek için (biraz paslı üzgünüm)

#!/bin/bash

total=0
for i in `ps -C php-cgi -o rss=`
do
    total=$(($total + $i))
done
echo "Memory usage: $total kb"

# Output: Memory usage: 4540 kb

Bir astar:

total=0; for i in `ps -C php-cgi -o rss=`; do total=$(($total+$i)); done; echo "Memory usage: $total kb";

I ps sorguladı ama en azından size kullanım gibi ne bir fikir verir bellek bölümünün güvenilirliğini biliyorum.

http://php.net/manual/en/function.memory-get-usage.php

Eğer iplik komut kendisinden kullanarak bellek miktarını vermelidir. Bu sayfa oluşturmak için gereken sadece zaman - - PHP dışında onu yakalamak zor olabilir komut (ve iplik) sadece en fazla bir kaç milisaniye için var çünkü sanırım.

  • B planı

Ayrıca daha doğru olabilir sunucusundan ayıklama bilgilerini alabilirsiniz - Ben size bir yığın izlemesi, zaman ve bellek kullanımını verir şahsen XDebug kullanmak, ve bir hata atar / fark. Sen ile script sonunda bunu tetikleyebilir:

trigger_error ('Finished', E_USER_NOTICE);

Ve size bilgi vereceğiz. Ben verileri alıcı olarak emin değilim - Ben hayal meyal birini gördüğümü hatırlıyorum - sen nasıl dokümanlar bir işlev olabilir gerekiyorsa.

Build-komutları yukarıda gösterilen yanında, XHProf güzel bir tarayıcı uygulamasında profil sonuçlarını gösteren için komut ve XHGui profil için kullanabilirsiniz. Sen yöntemleri belleği kullanmak ve ne uygulama içinde bellek kullanımı zirveleri nasıl derinlemesine bilgi alabilirsiniz.