@ru_python

Страница 5561 из 9768
SlavikMIPT
25.05.2018
13:58:01
для отладки/настройки зрения, глупо утверждать что тут ssh хватит за глаза

Маришка
25.05.2018
13:58:41
И кто называет vim как vi(-m)?
Внезапно потому что это аббревиатура и внезапно потому что бинарь называется vi

Artem
25.05.2018
13:59:47
Это нормально, если при установке nginx в каталоге /etc/nginx нету папок sites-available и sites-enabled?

Google
Romka
25.05.2018
14:00:31
должны быть стандартные настройки

Artem
25.05.2018
14:00:46
Сколько гуглил не нашёл решение проблемы

Полное удаление и переустановка, результат тот же

Romka
25.05.2018
14:01:44
Сколько гуглил не нашёл решение проблемы
https://stackoverflow.com/questions/17413526/nginx-missing-sites-available-directory

Artem
25.05.2018
14:02:25
Был я тут

Сказано создать папки самому

Rio
25.05.2018
14:02:40
@SLASH_CyberPunk Так что там с правами на продакш?

Artem
25.05.2018
14:02:42
Но я думаю это не правильное решение

Romka
25.05.2018
14:03:01
попробуй

Vladislav
25.05.2018
14:04:15
тебе скучно?

не стоит по всякой херни отвлекать плиз

Димон
25.05.2018
14:05:55
Нормально, концепция sites-enabled и sites-available - это фишка определенных дистрибов Linux

Google
Димон
25.05.2018
14:06:21
Это нормально, если при установке nginx в каталоге /etc/nginx нету папок sites-available и sites-enabled?
Там тупо include sites-enabled/*.conf; в nginx.conf прописано. Создай папки и пропиши.

Дальше для включения-выключения сайтов создаются и удаляются симлинки sites-available/....conf->sites-enabled

Стас
25.05.2018
14:07:13
Как правильно реализовать очистку оперативной памяти? Суть в том, что код пишет стрим, пилит гифки. Через некоторое время оперативки кончается. Помогает только остановка процесса. Если кончится оперативки и своп, то все наглухо виснет.

Стас
25.05.2018
14:09:16
Делать так, чтобы у тебя на использованные объекты не оставалось ссылок в памяти.
Удаляю их с помощью del.. файлы тоже все закрываю. Но увы.

Emuena
25.05.2018
14:09:51
Что с botan случилось кто в курсе?

Стас
25.05.2018
14:10:29
Запись происходит в многопоточном режиме. Параллельно пишется около 50 стримов, дальше в цикле режутся гифки.

Димон
25.05.2018
14:10:48
Удаляю их с помощью del.. файлы тоже все закрываю. Но увы.
Значит, где-то не удаляешь. Профайлить память - целое искусство. Вот тут в общих чертах написано как юзать pympler https://stackoverflow.com/questions/1435415/python-memory-leaks?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

Стас
25.05.2018
14:11:21
За одну такую запись съедается около 500-700 метров оперативки. Видео ~40 секунд каждое. Гиф ~100кб, 7 секунд

Значит, где-то не удаляешь. Профайлить память - целое искусство. Вот тут в общих чертах написано как юзать pympler https://stackoverflow.com/questions/1435415/python-memory-leaks?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
Где то читал, что питон работает так, что если он сожарл память, то в свободное плавание ее не отпустит. Типа если использовалось такое количество, значит дальше понадобиться снова

Вот знать бы, правда или нет

Romka
25.05.2018
14:12:48
https://docs.python.org/3.6/library/profile.html

Tishka17
25.05.2018
14:15:21
Запись происходит в многопоточном режиме. Параллельно пишется около 50 стримов, дальше в цикле режутся гифки.
А может не париться и на каждый ролик запускать процесс? Он же обрабатывается намного больше, чем запуск

Стас
25.05.2018
14:16:40
А может не париться и на каждый ролик запускать процесс? Он же обрабатывается намного больше, чем запуск
На нарезку гиф так и есть, просто в цикле, плюс закрытие файла тоже входит в цикл. После него удаление списков. А вот запись - не получится. Теряется весь смысл

Tishka17
25.05.2018
14:17:40
А может вообще утечка не в питоне?

А в нативной части

Что-то было год назад на хабре

Стас
25.05.2018
14:18:48
Хм...

Google
Tishka17
25.05.2018
14:18:58
https://m.habr.com/company/wunderfund/blog/328404/

Стас
25.05.2018
14:23:24
https://m.habr.com/company/wunderfund/blog/328404/
Мда.. до анализа памяти мне далековато:(

Ладно, всем спасибо, буду справляться кустарными методами

SlavikMIPT
25.05.2018
14:24:11
Ладно, всем спасибо, буду справляться кустарными методами
смотришь через atop какой нить - че за процессы остаются

находишь кто их не убивает в твоем говнокоде, исправляешь

Tishka17
25.05.2018
14:27:44
Ладно, всем спасибо, буду справляться кустарными методами
Чуть подробнее расскажи что скрипт делает с видео

Стас
25.05.2018
14:28:20
Чуть подробнее расскажи что скрипт делает с видео
Пишет стрим. Я хз как подробнее. Используется модуль livestreamer

SlavikMIPT
25.05.2018
14:28:40
Пишет стрим. Я хз как подробнее. Используется модуль livestreamer
скорей всего используется реально там ffmpeg

часто бывают либы оставляют зомби процессы после закрытия потока

Стас
25.05.2018
14:29:20
скорей всего используется реально там ffmpeg
Да используется. И другой модуль для конвертации moviepy, тоже его юзает

SlavikMIPT
25.05.2018
14:29:25
во

moviepy и оставляет

у меня тоже в боте была

Tishka17
25.05.2018
14:29:47
Пишет стрим. Я хз как подробнее. Используется модуль livestreamer
Так и в процессе записи стрима память течет?

Стас
25.05.2018
14:29:52
moviepy и оставляет
Известная бага? Победить можно?

SlavikMIPT
25.05.2018
14:29:55
да

ща загрузится среда - скину код

Tishka17
25.05.2018
14:30:27
Может проще ffmpeg запустить ?

Стас
25.05.2018
14:30:39
Так и в процессе записи стрима память течет?
Она не течет . Параллельно формируется 50 файлов. На этом момент занимается в оперативки память на эти 50 видео файлов. Когда запись закончена, в памяти ничего не освобождается

Google
Стас
25.05.2018
14:30:54
Может проще ffmpeg запустить ?
Не понял, что ты имеешь ввиду?

Стас
25.05.2018
14:33:53
Пробовал делать del для объектов?
Да, в каждой функции удаление есть

И потом не увеличивается?
До следующий записи нет

Mike
25.05.2018
14:34:09
Да, в каждой функции удаление есть
А оно правильно реализовано?

Tishka17
25.05.2018
14:34:57
До следующий записи нет
Ну то есть течет с каждым файлом. Может между файлами перезапускать, если не лечится?

Не понял, что ты имеешь ввиду?
Прям из шелла. ffmpeg -i file.in -o file.out и т.п

Mike
25.05.2018
14:35:23
Да, в каждой функции удаление есть
Алсо https://stackoverflow.com/questions/1316767/how-can-i-explicitly-free-memory-in-python

Стас
25.05.2018
14:36:35
Mike
25.05.2018
14:36:37
Можно вызывать gc.collect() после каждого del

Стас
25.05.2018
14:37:05
SlavikMIPT
25.05.2018
14:37:18
'''def close_clip(clip): try: clip.reader.close() del clip.reader if clip.audio != None: clip.audio.reader.close_proc() del clip.audio del clip except Exception as e: print(e) logging.error(str(e))'''

Стас
25.05.2018
14:37:25
Можно вызывать gc.collect() после каждого del
Тоже пробовал. Результата не дало

SlavikMIPT
25.05.2018
14:37:37
короче вот такой функцией закрывай в конце клип

Mike
25.05.2018
14:37:38
Google
Стас
25.05.2018
14:41:23
Denis
25.05.2018
14:43:54
Убери del и напиши вместо них close

Стас
25.05.2018
14:50:39
Спасибо, попробую

Web
25.05.2018
14:51:09
Есть 2 класса request и google class google(Thread) def init(self): Thread.init(self) self.r = Request() def get_ot(self): current = 'site.loc' try: self.r.get(current, True) except Exception: pass def start(self): for i in range(25): t = Thread(target=self.get_ot()) t.start() Запускаю google.start() и все работает в 1 поток почему?

Denis
25.05.2018
14:51:59
У get_ot скобки убери

Web
25.05.2018
14:53:40
в таргете?

У get_ot скобки убери
все понял, спасибо)

Alex
25.05.2018
15:18:21
Ребята

есть те, кто чуть чуть шарит в сетях?

Iorin
25.05.2018
15:18:46
Да

Страница 5561 из 9768