[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 95 | 4 | 18
Назад Вниз Каталог Обновить

Аноним 04/02/17 Суб 13:46:07  145971197  
python.png (345Кб, 531x531)
Суп, би. Я знаю, что ты можешь мне помочь. Есть один персер на питоне и он течет. Со временем он занимает всю свободную память и падает. http://pastebin.com/B4202UAz
Аноним 04/02/17 Суб 13:48:04  145971303
Ну где же вы, питонЫ?
Аноним 04/02/17 Суб 13:50:25  145971424
Двач - борда успешных синьоров же
Аноним 04/02/17 Суб 13:53:08  145971554
>>145971197 (OP)
Это джанговский декоратор?
Аноним # OP  04/02/17 Суб 13:54:18  145971611
>>145971554
Да. Я хз нужен он или нет если я юзаю db.reset_queries() в конце метода
Аноним # OP  04/02/17 Суб 13:56:51  145971728
>>145971554
Скорее всего проблема в сохранении картинок. Если комменчу кусок с картинками, то памяти занимается всегда одно количество +/- немного.
Аноним 04/02/17 Суб 13:59:47  145971896
>>145971197 (OP)
Пиздец. Я думал питон никогда не течёт.
Аноним 04/02/17 Суб 14:00:35  145971950
>>145971728
Попробуй сделай del thumbnail_file после сохранения картинки
Аноним # OP  04/02/17 Суб 14:01:25  145971988
>>145971896
Сам охуел
Аноним # OP  04/02/17 Суб 14:02:04  145972029
>>145971950
Пробовал. Все равно течет
Аноним 04/02/17 Суб 14:02:49  145972070
>>145971988
Так может ты просто память не освобождаешь? Течёт это когда после освобождения она остаётся. А ну проверь.
Аноним # OP  04/02/17 Суб 14:04:22  145972160
>>145972070
В питоне же сборщик мусора. Руками не надо ничего освобождать
Аноним 04/02/17 Суб 14:05:18  145972208
>>145971896
Лол. Всё течёт. Достаточно держать живую ссылку на ненужный объект в каком-нибудь замыкании и повторять много раз, чтобы получить кучу мусора, который GC не соберёт.
Аноним 04/02/17 Суб 14:06:17  145972263
А что у Питона профилировщик не завезли? Можно по хип-дампам посмотреть, что именно отжирает память.
Аноним # OP  04/02/17 Суб 14:07:26  145972337
>>145972263
Профилировщик показывает, что дохуя строк в памяти. А как узнать, что именно это за строки я хз.
Аноним 04/02/17 Суб 14:07:39  145972350
Питономакаки САСАТЬ
Аноним 04/02/17 Суб 14:08:10  145972383
>>145972350
Ты сам-то какой масти будешь?
Аноним 04/02/17 Суб 14:08:20  145972393
>>145972160
Надо. Ты можешь случайно хранить данные которые тебе не нужны.
Аноним 04/02/17 Суб 14:09:26  145972463
>>145972393
Приведи пример
Аноним 04/02/17 Суб 14:10:51  145972550
>>145971197 (OP)
Обрати внимание на app.screenshots.add(screenshot). Может ты app.screenshots не очищаешь или может быть каждый screenshot занимает кучу памяти?
Аноним 04/02/17 Суб 14:12:32  145972661
>>145972463
необнуленная ссылка на объект, который не используется
Аноним # OP  04/02/17 Суб 14:13:53  145972749
>>145972550
Хм, он должен сам чиститься после выхода из цикла. Я пробовал чистить картинку в памяти которую хранит объект screenshot через del и close. Нихуя не помогает
Аноним 04/02/17 Суб 14:13:55  145972753
>>145972463
Ну бля. Ты тупо получаешь какое-то значение. Сохраняешь в список. Обрабатываешь. И снова получаешь новое оставив старое в списке. Старое не надо, а ты его случайно хранишь. Это не утечка.
Аноним 04/02/17 Суб 14:14:39  145972793
Бамп
Аноним # OP  04/02/17 Суб 14:17:36  145972957
>>145972661
При выходе из области видимости переменная автоматически должна чиститься. А если переменная находится в ОВ и ты ее не используешь, то это невнимательность а не утечка.

>>145972753
У меня точно не этот кейс
Аноним 04/02/17 Суб 14:19:01  145973031
>>145972383
Бейсикобоярин
Аноним # OP  04/02/17 Суб 14:19:37  145973067
>>145973031
>боярин
У меня для тебя плохие новости
Аноним 04/02/17 Суб 14:21:28  145973169
Раз уж тут такой тред, может кто пояснить за winapi?
Есть процесс, в нём тыкаю на ссылку и открывается браузер (окно процесса сворачивается) и нужно его обратно развернуть.
Через ShowWindow на моей win8.1 норм, на нескольких win8 норм, и есть ещё пару машин win8.1 на которых эта функция не отрабатывает(hWnd цепляет, но не разворачивает). Пробовал так же через SwitchToThisWindow, SetWindowPos и чё-то ещё.
Проблема повторяется только на тех win8.1
Есть идеи?не ответите - ну и ладно.
Аноним 04/02/17 Суб 14:23:30  145973277
>>145973067
Какие?
Аноним # OP  04/02/17 Суб 14:24:09  145973314
>>145973277
Поясни за задачи бейсика? Где он сейчас на практике используется?
Аноним 04/02/17 Суб 14:26:22  145973442
>>145972749
Списки сами не очищаются.
Аноним # OP  04/02/17 Суб 14:28:01  145973525
>>145973442
Не думаю, что это так. На это нет никаких причин
Аноним 04/02/17 Суб 14:29:34  145973604
>>145972753
Это утечка. Ведь утечка - это не освобождение ненужной и неиспользуемой памяти. Сборщик мусора очищает лишь ту память которая точно не нужна (на неё нет ссылок), но ненужность памяти определяется как отсутствие обращения к ней в будущем, а не отсутствие ссылок на неё.
Аноним 04/02/17 Суб 14:32:45  145973773
>>145973525
Есть список app.screenshots. Я не увидел там вызов очистки этого списка, это значит, что он растёт неограниченно. Если тебе нужны эти объекты в этом списке в дальнейшем, то всё норм и это не утечка, если не нужны, то утечка и делай очистку списка либо вообще сделай локальную переменную.
Аноним 04/02/17 Суб 14:32:56  145973783
>>145972160
Вся суть недопрограммистов, которые не учили си или С++ в своё время.
Аноним 04/02/17 Суб 14:34:00  145973833
>>145973525
проиграл с мамкиного прохраммиста
Аноним 04/02/17 Суб 14:36:21  145973984
14807590863072.jpg (33Кб, 455x397)

>>145972160
Аноним 04/02/17 Суб 14:37:04  145974027
>>145972337
Учи матчасть. Читай книги.

Так, вроде, принято отвечать
Аноним # OP  04/02/17 Суб 14:37:37  145974075
>>145973773
При завершении handle_app (а это происходит очень часто довольно часто) переменная app выходит из области видимости и должна удаляться gc.

>>145973783
Мань, в языках с gc руками не надо ничего чистить
Аноним 04/02/17 Суб 14:39:08  145974181
>>145973314
Пешу на нём программки для себя. Могу сложить все элементы массива, например.
Аноним 04/02/17 Суб 14:40:17  145974252
>>145974075
Блин точно, я чёт затупил и думал, что app - глобальная хрень.
Аноним # OP  04/02/17 Суб 14:41:24  145974311
>>145974252
Вот по поводу глобальных переменных. Грешил на логгер, но его удаление ничего не дало
Аноним 04/02/17 Суб 14:41:49  145974339
>>145974181
>Могу сложить все элементы массива, например.
АХУЕТЬ, все остальные языки сосут, так как в них нельзя сложить все элементы массива.
Аноним 04/02/17 Суб 14:41:54  145974340
Хуйхуйпезда
Аноним 04/02/17 Суб 14:42:19  145974364
>>145974339
Мам, а чё он набрасывается?
Аноним 04/02/17 Суб 14:42:28  145974373
>>145974311
а ты не можешь в режиме отладки посмотреть в каком месте начинает забиваться память?
Аноним # OP  04/02/17 Суб 14:42:56  145974411
>>145974252
>Могу сложить все элементы массива
За это тебе вряд ли будут платить денеги
Аноним 04/02/17 Суб 14:43:05  145974423
>>145974373
Чё такое режим отладки? Яж неуч
Аноним 04/02/17 Суб 14:44:04  145974470
>>145974411
Я работаю именно на массивах, у нас большая контора в маскве. Денег куры не клюют
Аноним 04/02/17 Суб 14:44:44  145974514
>>145974470
На каких массивах ты работаешь, даун?
Аноним 04/02/17 Суб 14:45:16  145974551
>>145974514
гугли массивное программирование
Аноним 04/02/17 Суб 14:45:45  145974579
>>145974514
На массивах информации, еблан.
Аноним 04/02/17 Суб 14:45:57  145974588
>>145974311
Утечка по идее должна происходить в какой-то коллекции, типа списка или словаря.
Аноним # OP  04/02/17 Суб 14:46:49  145974637
>>145974470
Senior array developer?

>>145974373
Допустим я заметил, что функция перед выходом потребила N памяти, а после выхода и работы gc потребляет M памяти. Как я узнаю какие переменные входят в эти M?
Аноним 04/02/17 Суб 14:46:54  145974651
>>145974551
Вижу ты тоже в теме. Скоро все на него перейдут.
Аноним 04/02/17 Суб 14:47:00  145974656
>>145974579
Какой информации?
Аноним 04/02/17 Суб 14:47:29  145974681
>>145974637
Йес
Аноним 04/02/17 Суб 14:47:34  145974690
>>145971197 (OP)
>data_update_logger.info('Updated'.format(page))
А что здесь, собственно, происходит?
Аноним 04/02/17 Суб 14:48:18  145974723
>>145974690
Не обращай внимания, это тупо логгер.
Аноним # OP  04/02/17 Суб 14:49:07  145974772
>>145974690
Это я хуйню написал, лол. Должно быть data_update_logger.info('Updated')

Но почему-то это робит, лол. Это, очевидно, добавляет запись в лог
Аноним 04/02/17 Суб 14:50:09  145974819
>>145974181
Сеньер?
Аноним # OP  04/02/17 Суб 14:50:12  145974820
>>145974588
Поясни. Почему так?
Аноним 04/02/17 Суб 14:52:35  145974959
>>145974181
> Могу сложить все элементы массива
В ПРОДАКШОН!!1
Аноним 04/02/17 Суб 14:53:22  145975008
>>145974820
Потому что все локальные объекты в методах удаляются при выходе, а добавлять данные можно во внешние коллекции, которые висят в памяти и разрастаются.
Аноним 04/02/17 Суб 14:53:45  145975027
>>145975008
у него в коде таких моментов нет
Аноним 04/02/17 Суб 14:53:53  145975040
>>145971197 (OP)
thumbnail_unique_name, thumbnail_file = prepare_file(app_data['thumbnailUrl']),
thumbnail_file - это открытый файл что ли?
Аноним # OP  04/02/17 Суб 14:54:03  145975049
>>145974959
Подожди. QA array engineer еще не закончил работу
Аноним 04/02/17 Суб 14:54:36  145975080
image-0-02-05-f[...].jpg (50Кб, 500x433)
>>145971197 (OP)
У тебя питон - самка, а сейчас у неё время течки. Она хоть здоровая, ссука?
Аноним 04/02/17 Суб 14:55:47  145975155
>>145975027
app_instance.devices.add(*Device.objects.filter(slug__in=app_instance_data['deviceIdentifiers']))
Например.
Аноним 04/02/17 Суб 14:56:16  145975182
>>145975040
А нет, это вроде имя файла.
Аноним 04/02/17 Суб 14:57:08  145975238
Кстати, самый перкол в том, что течь может какая-нибудь функция из какой-нибудь либы.
Аноним # OP  04/02/17 Суб 14:58:05  145975300
>>145975040
Да, но на жестком диске его нет. Он существует только в памяти. Я пробовал вызывать у него close() перед выходом из метода, но это не дало результата. А вообще вот код метода prepare_file http://pastebin.com/AjRTbSjb
Аноним 04/02/17 Суб 14:59:16  145975375
>>145975238
Кстати, да.
ОП, что это за функция - from data_mining.util import prepare_file
Аноним # OP  04/02/17 Суб 15:00:02  145975425
>>145975155
У меня нет ссылок на app_instance.devices кроме как через сам app_instance. А app_instance - это локальная переменная
Аноним # OP  04/02/17 Суб 15:00:38  145975459
>>145975300
>>145975375
Аноним # OP  04/02/17 Суб 15:01:50  145975536
>>145975080
А хуй знает. Где у питона смотреть пол?
Аноним 04/02/17 Суб 15:02:39  145975596
>>145975536
Если питон тебя сожрал, то это самец, если сожрала, то это самка.
Аноним 04/02/17 Суб 15:03:20  145975633
>>145975300
А зачем ты возвращаешь file в
return '{}.{}'.format(file_unique_name, file_extension), file
если ты его не используешь нигде?
Аноним 04/02/17 Суб 15:03:38  145975653
Двач, есть ли на питоне нормальные либы, которые позволяют работать с вебсокетами на уровне клиента?
Аноним # OP  04/02/17 Суб 15:03:40  145975655
>>145975596
Змея пока меня не сожрала. Есть еще способы?
Аноним # OP  04/02/17 Суб 15:04:57  145975727
>>145975633
Как это не использую?

Вот здесь получаю
thumbnail_unique_name, thumbnail_file = prepare_file(app_data['thumbnailUrl'])

Потом вот здесь использую
app.thumbnail.save(thumbnail_unique_name, thumbnail_file)
Аноним 04/02/17 Суб 15:05:30  145975759
>>145975655
> 2.7
> 2кэ17
Аноним 04/02/17 Суб 15:06:56  145975843
>>145975727
И что происходит при этом save? Объект ContentFile куда пихается?
Аноним # OP  04/02/17 Суб 15:06:56  145975844
>>145975759
Ну мне хватает его возможностей
Аноним # OP  04/02/17 Суб 15:08:36  145975941
>>145975843
app - модель django
app.thumbnail - поле модели типа ImageField
save очевидно сохраняет новую картинку в это поле. Я хз, что там под капотом творится
Аноним # OP  04/02/17 Суб 15:10:39  145976061
Хм, надо попробовать чекать кол-во объектов типа ContentFile после выхода из handle_app
Аноним 04/02/17 Суб 15:12:25  145976171
>>145971197 (OP)
Проиграл
Аноним # OP  04/02/17 Суб 15:22:11  145976755
Поднимаю
Аноним 04/02/17 Суб 15:23:13  145976819
>>145974656
Любой, которую можно всунуть в массив
Аноним 04/02/17 Суб 15:24:59  145976915
>>145976755
Опускяю
Аноним 04/02/17 Суб 15:26:46  145977016
>>145976819
И какую вы там обычно всовываете в массив?
Аноним # OP  04/02/17 Суб 15:27:14  145977041
>>145976915
Поднимаю
Аноним 04/02/17 Суб 15:28:12  145977101
>>145977041
Поднимаю?
Аноним 04/02/17 Суб 15:28:31  145977122
>>145977016
Структурированную
Аноним 04/02/17 Суб 15:30:05  145977217
>>145977122
Ясн.
Аноним 04/02/17 Суб 15:31:13  145977278
d

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 95 | 4 | 18
Назад Вверх Каталог Обновить

Топ тредов
Избранное