URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8448
[ Назад ]

Исходное сообщение
"утечка памяти ?"

Отправлено admsasha , 27-Сен-09 16:27 
#!/usr/bin/perl
use DBI;
use List::Util 'sum';
my $query;
my $output;
my $db = DBI->connect("DBI:mysql:test","root","mypassword");
while(1){
    for($n=0;$n<1000;$n++){
        $query="SELECT UNIX_TIMESTAMP()";
        $output = $db->prepare($query);
        undef($output);
    }
    $mem = sum(map {(split)[4]} grep {/\btest3\b/} `top -b -n1`) || 0;
    print "$mem Mb\n";
    sleep(1);
}


вот что показывает
[quote]10488 Mb
10488 Mb
10488 Mb
10616 Mb
10616 Mb
10736 Mb
10736 Mb
10868 Mb
10868 Mb
11000 Mb
11000 Mb
11132 Mb
[/quote]

Без модуля  List::Util пробывал, тоже самое (проверял через top)

т.е. судя по этому примеру идет постоянная утечка в памяти. Что не так делаю ?

[quote]$ perl -MDBI -e 'DBI->installed_versions'
  Perl            : 5.010000    (i386-linux-thread-multi)
  OS              : linux       (2.6.22.18-server-1mdv)
  DBI             : 1.607
  DBD::mysql      : 4.008
  DBD::Sponge     : 12.010002
  DBD::Gofer      : 0.011565
  DBD::File       : 0.35
  DBD::ExampleP   : 12.010007
  DBD::DBM        : 0.03
[/quote]


Содержание

Сообщения в этом обсуждении
"утечка памяти ?"
Отправлено ACCA , 28-Сен-09 13:20 
Известный баг, perl #56908.

Жди 5.10.1, в него обещают включить патч. Пока или откатись на < 5.9.2 или пересобери Perl.