finsight / QUIKSharp

QUIK# (QUIK Sharp) is the QUIK Lua interface ported to .NET.
Other
230 stars 134 forks source link

Скрипт съедает оперативную память #314

Closed Gitel3 closed 2 years ago

Gitel3 commented 2 years ago

Здравствуйте! Написал небольшого робота на C#, используя вашу работу, за что очень благодарен! Однако недавно столкнулся с проблемой, которую сам не в силах решить ввиду недостатка знаний (еще только изучаю язык). Робот замечательно работал на двух компах под Windows 10, все прежние проблемы были связаны с неточностями моего алгоритма и ошибками его описания, но я с ними кое-как справился, а потом решил переделать немного код для круглосуточной работы и заказал сервер под Windows Server 2019. После установил туда Quik версии 9.2.3.15, закинул коннектор, робота, установил Visual Studio 2019, поскольку без него отказывались запускаться и робот, и коннектор в квике, и все заработало до первого падения севера. Системе не хватило памяти. После соединения робота с терминалом первые примерно полминуты все идет нормально (хотя иногда проблема начинается сразу), а потом порой сразу по истечении этого времени, а порой после закрытия удаленного подключения скрипт QuikSharp.lua, подключенный к терминалу, перестает освобождать используемую память и дальше только разрастается, в итоге используемый терминалом объем памяти забивает все и сервер падает. Было 3Гб, поднял до 4, но он съедает все, что подашь. Мой код, конечно, еще далек от совершенства, но тот факт, что он работает без проблем на других компах, внушает мысли, что дело не в нем, а в самом сервере, может, там чего-то не хватает для нормальной работы, и как решить эту проблему, очень прошу помочь. Согласно рекомендациям, пробовал устанавливать LuaForWindows, не помогло.

UPD: Открыл на сервере квик и залогинился, скрипт запущен, робота не запускал, закрыл уделенное подключение.. Спустя пару часов вошел, скрипт уже отъел 90Мб, на Win10 такого точно не наблюдалось.

Снимок

Gitel3 commented 2 years ago

В последних версиях квика при включении скрипта ситуация повторяется, но при соединении с роботом разросшаяся память начинает понемногу уменьшаться и в течение минуты происходит резкое падение до нескольких сот Кб, потом болтается в районе 0,5-2 Мб. При отключении робота все снова разрастается. Тем не менее, проблема уже не критична.