ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [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