[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