Perl Out of memory!

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Perl Out of memory!

Непрочитанное сообщение zg » 2008-09-05 12:41:15

да тут всё просто - количество элементов массива ограничено, если данных действительно много, то при копировании массива или при частой его обработке перл может вылетать. Надо сказать, что много - это несколько миллиардов. Я такие обработки на awk делаю, и заранее подсчитываю максимальное количесвто элементов массива, чтобы оно не превышало несколько тысяч.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение Alex Keda » 2008-09-05 13:16:07

потому что одному процессу нельзя отдать всю память.
надо пилить переменные ядра на эту тему.
по дефолту стоит ограничение в 512 мегабайт на процесс
Убей их всех! Бог потом рассортирует...

iye
ст. сержант
Сообщения: 360
Зарегистрирован: 2008-07-29 9:02:04

Re: Perl Out of memory!

Непрочитанное сообщение iye » 2008-09-05 13:40:02

Добавление памяти (как я подозревал) не помогло. Где то (либо в системе в системе, либо как уже говорилось в массиве перла) стоит ограничение. Кто нить может подсказать как отдебажить сию ситуацию ?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение zingel » 2008-09-05 13:41:08

отдавать можно, но тогда стоит менять ARG_MAX, сделать это будет очень сложно ибо оно жестко зашито в ядре, хотя можно ковырнуть unistd.h, но к хорошим последствиям это не приведёт, если хочется эксперементов с POSIX.1 то прочитайте сперва

Код: Выделить всё

man sysconf
man fpathconf
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение ProFTP » 2008-09-06 7:50:58

lissyara писал(а):потому что одному процессу нельзя отдать всю память.
надо пилить переменные ядра на эту тему.
по дефолту стоит ограничение в 512 мегабайт на процесс
должно свапить сильно и выполняться минут 30 :drinks:
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение Alex Keda » 2008-09-06 22:31:27

Код: Выделить всё

more /boot/loader.conf
# data stack
kern.maxdsiz="1073741824"
kern.dfldsiz="1073741824"
kern.maxssiz="1073741824"
это я прописывал на одном сервере.
чтобы отдать мусе больше 512 памяти.
с цификами надо играть очень аккуратно, предварительно прочитав man boot и поняв что там написано - иначе не подымешь его потом.
или иметь диск френзи под рукой.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение zingel » 2008-09-07 4:59:13

если хочется уж совсем креативного решения, я вот так делал, но потом это стало ненужно ввиду балансирования(расчет на 1GB RAM) :

Код: Выделить всё

options KVA_PAGES=512
options KSTACK_MAX_PAGES=32
options MAXFILES=65536
options MAXUSERS=12
options SHMALL=65536
options SHMMNI=190
options SHMMAXPGS=4096 
options SHMMAX=2097152
options SHMMIN=2 
options SHMMNI=256 
options SHMSEG=256 
options SYSVSEM 
options SEMMAP=512 
options SEMMNI=512 
options SEMMNS=1024
options SEMMNU=512 
options SEMMSL=256 
options SEMOPM=256 
options SEMUME=64
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(256*1024*1024)"
options MAXSSIZ=(128UL*1024*1024)
options BKVASIZE=32768
options DFLTPHYS=(128*1024)
options MAXPHYS=(512*1024)
options NSFBUFS=704
options NSWBUF_MIN=480
options MSGMNB=4098   
options MSGMNI=82
options MSGSEG=4098
options MSGSSZ=24
options MSGTQL=41       
options NBUF=1024
сразу хочется отметить, что если после применения этих параметров у Вас чего поломается, меня прошу не винить =)
Z301171463546 - можно пожертвовать мне денег

iye
ст. сержант
Сообщения: 360
Зарегистрирован: 2008-07-29 9:02:04

Re: Perl Out of memory!

Непрочитанное сообщение iye » 2008-09-08 7:50:25

Алилуййя! :Yahoo!: Оно заработало вот с этими параметрами.
lissyara писал(а):more /boot/loader.conf
# data stack
kern.maxdsiz="1073741824"
kern.dfldsiz="1073741824"
kern.maxssiz="1073741824
Спасибо всем огромное )

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Perl Out of memory!

Непрочитанное сообщение zg » 2008-09-08 8:00:09

iye писал(а):Оно заработало вот с этими параметрами.
пока заработало :roll:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Perl Out of memory!

Непрочитанное сообщение Alex Keda » 2008-09-08 13:15:15

вы

Код: Выделить всё

man boot
прочли?
такие эксперименты могут очень плохо кончиться.
Убей их всех! Бог потом рассортирует...