* [sisyphus] Perl memory leaks?
@ 2008-03-03 5:04 Ivan Adzhubey
2008-03-03 6:58 ` Ivan Adzhubey
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Ivan Adzhubey @ 2008-03-03 5:04 UTC (permalink / raw)
To: sisyphus
Доброго времени суток всем!
Никто не замечал утечек памяти в перле в последнее время? У меня падает скрипт
с Cannot allocate memory, на операции открытия pipe:
open(PIP, "gunzip -qc $file.gz |")
Где-то после тысячи файлов в цикле. После прочтения каждого файла все
дескрипторы аккуратно закрываются, проверено. Кроме того, скрипт успешно
работал уже несколько лет и я в нем ничего не менял.
$ rpm -qa|grep perl-base
perl-base-5.8.8-alt18
--Иван
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Perl memory leaks?
2008-03-03 5:04 [sisyphus] Perl memory leaks? Ivan Adzhubey
@ 2008-03-03 6:58 ` Ivan Adzhubey
2008-03-03 14:46 ` Alexey Tourbin
2008-03-03 14:55 ` Alexey Tourbin
2 siblings, 0 replies; 5+ messages in thread
From: Ivan Adzhubey @ 2008-03-03 6:58 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
On Monday 03 March 2008 12:04:00 am Ivan Adzhubey wrote:
> Доброго времени суток всем!
>
> Никто не замечал утечек памяти в перле в последнее время? У меня падает
> скрипт с Cannot allocate memory, на операции открытия pipe:
>
> open(PIP, "gunzip -qc $file.gz |")
>
> Где-то после тысячи файлов в цикле. После прочтения каждого файла все
> дескрипторы аккуратно закрываются, проверено. Кроме того, скрипт успешно
> работал уже несколько лет и я в нем ничего не менял.
>
> $ rpm -qa|grep perl-base
> perl-base-5.8.8-alt18
Мда, проверил скрипт на Федоре 7 - тоже течет. Отбой, прошу прощения что
поторопился с постом.
--Иван
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Perl memory leaks?
2008-03-03 5:04 [sisyphus] Perl memory leaks? Ivan Adzhubey
2008-03-03 6:58 ` Ivan Adzhubey
@ 2008-03-03 14:46 ` Alexey Tourbin
2008-03-03 14:55 ` Alexey Tourbin
2 siblings, 0 replies; 5+ messages in thread
From: Alexey Tourbin @ 2008-03-03 14:46 UTC (permalink / raw)
To: sisyphus
[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]
On Mon, Mar 03, 2008 at 12:04:00AM -0500, Ivan Adzhubey wrote:
> Никто не замечал утечек памяти в перле в последнее время? У меня падает скрипт
> с Cannot allocate memory, на операции открытия pipe:
>
> open(PIP, "gunzip -qc $file.gz |")
>
> Где-то после тысячи файлов в цикле. После прочтения каждого файла все
$ cd /usr/share/man/man1
$ ls *.gz |wc -l
1714
$ perl -e 'for $f (<*.gz>) { open P, "gunzip -qc $f |"; print while <P>; close P; }' |wc -c
8494614
$ zcat *.gz |wc -c
8494614
$
Может течь в разных местах, но здесь не похоже.
$ perl -e 'system "ps v $$"'
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
19284 pts/8 R+ 0:00 0 2 3681 1396 0.1 perl -e system "ps v $$"
$ perl -e 'for $f (<*.gz>) { open P, "gunzip -qc $f |"; 1 while <P>; close P; } system "ps v $$"'
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
19300 pts/8 R+ 0:00 0 2 3965 2172 0.2 perl -e for $f (<*.gz>) ...
$
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Perl memory leaks?
2008-03-03 5:04 [sisyphus] Perl memory leaks? Ivan Adzhubey
2008-03-03 6:58 ` Ivan Adzhubey
2008-03-03 14:46 ` Alexey Tourbin
@ 2008-03-03 14:55 ` Alexey Tourbin
2008-03-03 15:20 ` Ivan Adzhubey
2 siblings, 1 reply; 5+ messages in thread
From: Alexey Tourbin @ 2008-03-03 14:55 UTC (permalink / raw)
To: sisyphus
[-- Attachment #1: Type: text/plain, Size: 586 bytes --]
On Mon, Mar 03, 2008 at 12:04:00AM -0500, Ivan Adzhubey wrote:
> Никто не замечал утечек памяти в перле в последнее время? У меня падает скрипт
> с Cannot allocate memory, на операции открытия pipe:
Может быть, где-то есть попытка создать Очень Большую Переменную (то
есть поместить содержимое большого файла в переменную). В ядре может
быть ограничение на размер непрерывного куска памяти, который можно
подыскать для malloc'а. То есть malloc(100M) может отвалить, даже
если в системе кумулятивно совободно больше 100M.
vsu лучше знает, как сейчас с этим дело обстоит.
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Perl memory leaks?
2008-03-03 14:55 ` Alexey Tourbin
@ 2008-03-03 15:20 ` Ivan Adzhubey
0 siblings, 0 replies; 5+ messages in thread
From: Ivan Adzhubey @ 2008-03-03 15:20 UTC (permalink / raw)
To: sisyphus
On Monday 03 March 2008 09:55:42 am Alexey Tourbin wrote:
> On Mon, Mar 03, 2008 at 12:04:00AM -0500, Ivan Adzhubey wrote:
> > Никто не замечал утечек памяти в перле в последнее время? У меня падает
> > скрипт с Cannot allocate memory, на операции открытия pipe:
>
> Может быть, где-то есть попытка создать Очень Большую Переменную (то
> есть поместить содержимое большого файла в переменную). В ядре может
> быть ограничение на размер непрерывного куска памяти, который можно
> подыскать для malloc'а. То есть malloc(100M) может отвалить, даже
> если в системе кумулятивно совободно больше 100M.
>
> vsu лучше знает, как сейчас с этим дело обстоит.
Похоже таки да - пытается считать большой файл в память. При этом реально
память заканчивается так как скрипт съедает все 2 гигабайта перед тем как
упасть, я топом следил. Странно, что если обрабатывать те же 50000 файлов
циклами по 1000, то все работает. А если запустить цикл сразу на 50000 -
падает на одном и том же файле. В общем к нашей сборке перла это отношения не
имеет, буду дальше разбираться.
--Иван
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-03-03 15:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-03 5:04 [sisyphus] Perl memory leaks? Ivan Adzhubey
2008-03-03 6:58 ` Ivan Adzhubey
2008-03-03 14:46 ` Alexey Tourbin
2008-03-03 14:55 ` Alexey Tourbin
2008-03-03 15:20 ` Ivan Adzhubey
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git