Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> Perl threads нужно освободить память.
Начать новую тему   Ответить на тему   вывод темы на печать

Perl threads нужно освободить память.

Автор
Сообщение
Джем
Писатель


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 551
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2007.02.05 13:39.16
Ответить с цитатой
#!/usr/bin/perl -w
use strict;
use threads;

my ($fname, $msize, $cpu) = split ' ', qx( ps ax -o fname,m_size,%cpu | grep Perl-5 ); print "Выделено памяти: $msize\n";

my @proc = ();
$proc[$_] = threads->new(\&test) for (1..100);
$proc[$_]->join for (1..100);
($fname, $msize, $cpu) = split ' ', qx( ps ax -o fname,m_size,%cpu | grep Perl-5 ); print "Выделено памяти: $msize\n";

sleep 5;
$proc[$_] = threads->new(\&test) for (1..100);
$proc[$_]->join for (1..100);
($fname, $msize, $cpu) = split ' ', qx( ps ax -o fname,m_size,%cpu | grep Perl-5 ); print "Выделено памяти: $msize\n";
while ('true') {
($fname, $msize, $cpu) = split ' ', qx( ps ax -o fname,m_size,%cpu | grep Perl-5 ); print "Выделено памяти: $msize\n";
sleep 1;
}

sub test {
sleep int rand 5;
return 0;
}

Не освобождается память joinутых процессов. Detach освобождают, но не всю. Есть перловщики в г. Ша?

Добавлено спустя 26 секунд:

Вывод программы:

Выделено памяти: 1211
Выделено памяти: 19051
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Выделено памяти: 21486
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> Perl threads нужно освободить память.

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы