LINUX.ORG.RU

Скрипт на lua за 12 часов работы отъел 1412KB оперативы.

 


0

2

Скрипт на lua слушает events от freeswitch через ESL и обрабатывает их. Скрипт должен непрерывно выполняться пока работает freeswitch. ЗА 12 часов не было ни одного event-а, который нужно было обработать.
Однако при примитивной логике работы скрипта, скрипт разросся в оперативе
цифры из pmap собранных с интервалом 12 часов

# diff /tmp/lua1 /tmp/lua2
5c5
< 000000001ef86000   13308 rw--- 000000001ef86000 000:00000   [ anon ]
---
> 000000001ef86000   14720 rw--- 000000001ef86000 000:00000   [ anon ]
60c60
< mapped: 54848K    writeable/private: 20084K    shared: 0K
---
> mapped: 56260K    writeable/private: 21496K    shared: 0K

Хэш таблица (ключ->значение) с которой работает алгоритм не разрастается по числу ключей. ДА и за 12 часов алгоритм в нее ничего не писал. Алгоритм тупо считывал Event, анализировал поле event а, оно не совпадало и скрипт снова брал новый event. и при этом он разросся!!! Вроде немного, но вопрос. Скрипт планируется повесить на постоянку т.е. за год теоретически скрипт съест 1ГБ оперативы. Может и не съест, скрипт пока работает 12 часов.
Может какой то дамп из lua сбрасывать или из Linuх всего процесса чтобы посмотреть что именно разраствается. ИЛи может просто пустой блок памяти linuх lua резервирует.

★★★★

Ответ на: комментарий от hobbit

а еще lua встраивают в биржевые терминалы - проги через которые выставляют заявки на покупку/продажу чего либо на биржу.QUIK например. И пишут много чего для алготорговли.

Vlad-76 ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.