Утечка памяти или из за чего происходит сбой системы?
-
@HustleMan said in Утечка памяти или из за чего происходит сбой системы?:
@Fox @Fox по времени достаточно и 15 мин при 40 потоках чтобы увидеть как потребление озу стремиться только вверх
С использованием прокси или можно без прокси?
-
@HustleMan said in Утечка памяти или из за чего происходит сбой системы?:
@Fox я без прокси запускал, сейчас домой приду и скину скрин что вышло по итогу Парсинга 750000 страниц, я для сравнения один раз прогнал с логом и один раз без лога
Да, без прокси в 40 потоков спустя пол часа началось стабильное увеличиваться потребление памяти. Спасибо за тестовый скрипт, буду разбираться
-
@Fox Вот для наглядности скрины. Тест проводил на скрипте который прислал @GhostZ no_recursion.xml
На этом скрине был включен лог (Модуль Logger) и сброс http клиента(не знаю влияет или нет).
Выполнялся парсинг 750 000 страничек без записи куда-либо, просто в лог 1 страничка = 1 запись в лог.
В результате потребление ОЗУ росло вплоть до завершения работы скрипта.

На этом скрине я убрал лог и сброс http клиента. Потребление ОЗУ снизилось в разы, но утечка все равно есть

о чем свидетельствует уже этот скрин. За 11 минут потребление возросло на 9.3 мб, значит в минуту утекает 0.84 мб.

UPD: на данный момент в 17:30 уже 385.7 мб, а при старте было около 250 мб.
Вполне вероятно что на старых версиях утечка тоже есть. Просто никто не хочет что-то тестить и заморачиваться, а ведь от этого зависит как будет работать BAS в дальнейшем.А заказчику что говорить то?)

-
@HustleMan said in Утечка памяти или из за чего происходит сбой системы?:
UPD: на данный момент в 17:30 уже 385.7 мб, а при старте было около 250 мб.
Вполне вероятно что на старых версиях утечка тоже есть. Просто никто не хочет что-то тестить и заморачиваться, а ведь от этого зависит как будет работать BAS в дальнейшем.Я в данный момент как раз и занят тестами. Убираю по частям все действия, которые в теории могут вызывать эту проблему и проверяю, происходит утечка или нет
-
@Fox тоже погонял этот скрипт, из интересного память остаётся еще частично забитой после остановки, и после повторного запуска (без перезапуска бас) память стартует с этой отметки.
Например, через 20 минут работы скрипт потреблял 670 мб оперативы, после остановки занятая память была на уровне 611мб, запускаю снова и останавлию на 800 мб - занятая память после остановки - 722 мб.
Так же скорее всего причина утечки в одной из ошибокgetaddrinfo() thread failed to start Failed to connect to api.uzum.uz port 443: Address already in use -
@DrPrime said in Утечка памяти или из за чего происходит сбой системы?:
@Fox тоже погонял этот скрипт, из интересного память остаётся еще частично забитой после остановки, и после повторного запуска (без перезапуска бас) память стартует с этой отметки.
Например, через 20 минут работы скрипт потреблял 670 мб оперативы, после остановки занятая память была на уровне 611мб, запускаю снова и останавлию на 800 мб - занятая память после остановки - 722 мб.
Так же скорее всего причина утечки в одной из ошибокgetaddrinfo() thread failed to start Failed to connect to api.uzum.uz port 443: Address already in useСпасибо за информацию, я пока продолжаю тесты
-
@DrPrime та я остановил. Ну по логу можно понять. Вроде как 15 поток крашнулся и завис
Скрипт запущен в 40 потоков и будет остановлен после 1000000 успешных выполнений или 1000000 неудачных выполнений или после использования всех ресурсов. Вы можете изменить эти параметры в режиме записи. [402768648] [16:58:42] Поток №15 : Поток завершился с сообщением "SyntaxError: Unable to parse JSON string" [17:34:48] Поток №21 : Поток завершился с сообщением "" [17:35:29] Поток №4 : Поток завершился с сообщением "" [17:35:39] Поток №38 : Поток завершился с сообщением "" [17:35:40] Поток №1 : Поток завершился с сообщением "" [17:35:48] Поток №30 : Поток завершился с сообщением "" [17:35:56] Поток №5 : Поток завершился с сообщением "" [17:36:07] Поток №3 : Поток завершился с сообщением "" [17:36:09] Поток №37 : Поток завершился с сообщением "" [17:36:10] Поток №16 : Поток завершился с сообщением "" [17:36:12] Поток №39 : Поток завершился с сообщением "" [17:36:29] Поток №24 : Поток завершился с сообщением "" [17:36:32] Поток №33 : Поток завершился с сообщением "" [17:36:33] Поток №13 : Поток завершился с сообщением "" [17:36:35] Поток №19 : Поток завершился с сообщением "" [17:36:40] Поток №29 : Поток завершился с сообщением "" [17:36:42] Поток №11 : Поток завершился с сообщением "" [17:36:44] Поток №31 : Поток завершился с сообщением "" [17:36:45] Поток №6 : Поток завершился с сообщением "" [17:36:47] Поток №12 : Поток завершился с сообщением "" [17:36:49] Поток №35 : Поток завершился с сообщением "" [17:36:50] Поток №20 : Поток завершился с сообщением "" [17:36:51] Поток №32 : Поток завершился с сообщением "" [17:36:51] Поток №14 : Поток завершился с сообщением "" [17:36:52] Поток №9 : Поток завершился с сообщением "" [17:36:54] Поток №26 : Поток завершился с сообщением "" [17:36:56] Поток №18 : Поток завершился с сообщением "" [17:36:57] Поток №22 : Поток завершился с сообщением "" [17:37:02] Поток №40 : Поток завершился с сообщением "" [17:37:07] Поток №23 : Поток завершился с сообщением "" [17:37:09] Поток №10 : Поток завершился с сообщением "" [17:37:10] Поток №34 : Поток завершился с сообщением "" [17:37:12] Поток №8 : Поток завершился с сообщением "" [17:37:17] Поток №17 : Поток завершился с сообщением "" [17:37:34] Поток №25 : Поток завершился с сообщением "" [17:37:39] Поток №28 : Поток завершился с сообщением "" [17:38:02] Поток №36 : Поток завершился с сообщением "" [17:38:02] Поток №27 : Поток завершился с сообщением "" [17:38:03] Поток №2 : Поток завершился с сообщением "" [17:38:35] Поток №7 : Поток завершился с сообщением "" [17:57:07] Поток №15 : Поток выполнен успешно с сообщением "Ok" [17:57:07] Скрипт завершен корректноОтчет еще если надо
Удачно(0) Неудач(40) Сообщения: 39 - Закончен с сообщением: 1 - [402768648] SyntaxError: Unable to parse JSON string Неудач и восстановлено(7) Сообщения: 6 - Empty reply from server 1 - SyntaxError: Unable to parse JSON string Время работы : 01:51:15 Последнее сообщение : Прервано Пользователем -
@HustleMan @Fox
Пару раз обращались ко мне с похожей проблемой. Есть подозрение что данная проблема связана именно с модулем JSON, попробуйте переписать скрипт через выполнить код -JSON.pasre и распаршивание объекта циклами(сам всегда именно так разбираю json и проблем не встречал) -
@pijon said in Утечка памяти или из за чего происходит сбой системы?:
@HustleMan @Fox
Пару раз обращались ко мне с похожей проблемой. Есть подозрение что данная проблема связана именно с модулем JSON, попробуйте переписать скрипт через выполнить код -JSON.pasre и распаршивание объекта циклами(сам всегда именно так разбираю json и проблем не встречал)Нет, я удалял эти действия и утечка всё равно продолжалась. Пока ещё причину не выяснил
-
@UserTrue said in Утечка памяти или из за чего происходит сбой системы?:
@Fox а сброс клиента пробовал убрать? Может там старый экземпляр остаётся в памяти или вроде того.
Я очень много времени занимаюсь определением багов BAS, у меня уже давно есть слаженный алгоритм выявления проблемы
:D -
@HustleMan said in Утечка памяти или из за чего происходит сбой системы?:
@Fox есть успехи?
Какие именно? Проблему я локализовал и передал разработчику, как он ответит, я продублирую его ответ здесь
