[Moscow.pm] mod_perl и утечки памяти
Alex Shatlovsky
shatlovsky на gmail.com
Ср Июл 29 00:49:22 PDT 2009
Привет,
Подскажите, пожалуйста, чем можно посмотреть кто пожрал память под mod_perl?
Apache::Status говорит только половину правды: похоже, что ссылочные
переменные он учитывает по размеру собственно ссылки (в моем случае 16
байт).
Тестовый код (см. ниже) честно увеличивает апач на 53 мб, однако
Apache::Status видит из них только 3.
Собственно вопрос в том, как найти утечку этих "невидимых" мегабайтов?
Вот тестовый код:
==================================
# TestGreedy.pm
use strict;
use warnings;
package TestGreedy;
use vars qw(
$TIMESTAMP
$SPAM
);
sub init {
$TIMESTAMP = scalar( localtime );
my $f = "x" x 1024 x 1024 ;
foreach my $i (1 .. 50 ) {
$SPAM->{$i} = $i . $f;
}
}
init();
1;
==================================
https://domain.ru/perl-status/TestGreedy?noh_b_package_size
==================================
Memory Usage for package TestGreedy
Totals: 3149224 bytes | 39 OPs
init 3148576 bytes | 39 OPs
*TIMESTAMP{SCALAR} 52 bytes
*SPAM{SCALAR} 16 bytes
==================================
Среда:
Embedded Perl version v5.8.8 for Apache/1.3.37 (Unix) mod_perl/1.29
FreeBSD 5.4
--
С уважением,
А.Н.Шатловский
Подробная информация о списке рассылки Moscow-pm