[Moscow.pm] mod_perl и утечки памяти

Павел Тимонин gg.error на gmail.com
Чт Июл 30 02:54:40 PDT 2009


30 июля 2009 г. 13:53 пользователь Alex Shatlovsky
<shatlovsky на gmail.com>написал:

> Привет,
>
> Путем последовательного усечения выяснил, что проблема в
> последовательности строк:
> print STDERR "$ref\n";
> next unless $ref;
>
> Именно из-за нее вызов Devel::Size::total_size( $ref ) корректно
> отрабатывает только один раз.
> Второй раз возвращается 0.
>
> Если поменять строки местами, то все отрабатывает как надо.
>
> В тред призываются гуру perl internals. :-)


привет с лепры?


>
>
> ===========================================
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use Data::Dumper;
> use Devel::Size;
>
> TestGreedy::init();
>
> for (1..2) {
>    {
>        no strict;
>        my $name = 'TestGreedy::SPAM';
>        for my $type (qw(SCALAR ARRAY REF HASH)){
>            print STDERR "$type\n";
>            my $ref = *{$name}{$type};
>            print STDERR "$ref\n";
>            next unless $ref;
>            print Devel::Size::total_size( $ref ), "\n";
>        }
>    }
> }
>
> exit;
>
> package TestGreedy;
>
> use vars qw(
>     $SPAM
> );
>
> sub init {
>     my $f =   "x" x 1024 x 1024 ;
>     foreach my $i (1 .. 50 ) {
>        $SPAM->{$i} = $i . $f;
>    }
> }
> ===========================================
>
>
> --
>
> 2009/7/29 Ruslan Zakirov <ruslan.zakirov на gmail.com>:
> > Там где-то было написано про кеширование.
> >
> > 2009/7/29 Alex Shatlovsky <shatlovsky на gmail.com>:
> >> Привет,
> >>
> >> 2009/7/29 Ruslan Zakirov <ruslan.zakirov на gmail.com>:
> >>> Вот так где-то. Патч к B::TerseSize и скрипт посмотреть на результат.
> >>> Осталось в Apache::Status все это вывести красиво.
> >>
> >> Спасибо!
> >> Сходу не завелось, при первом запуске под мод_перл размер показывает
> >> правильно, при последующих Devel::Size::total_size() и
> >> Devel::Size::size() возвращают 0.
> >>
> >> Но направление понял, буду разбираться.
> >> Еще раз спасибо.
> >>
> >> --
> >> С уважением,
> >> А.Н.Шатловский
> >> --
> >> Moscow.pm mailing list
> >> moscow-pm на pm.org | http://moscow.pm.org
> >>
> >
> >
> >
> > --
> > Best regards, Ruslan.
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> >
>
>
>
> --
> С уважением,
> А.Н.Шатловский
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20090730/0a752616/attachment.html>


Подробная информация о списке рассылки Moscow-pm