дальнейшей загрузки в систему.
Программа работает, проблема в потреблении RAM. Python, прежде чем что-то записать в файл при вызове file.write(), передаёт это во внутренний буфер окружения исполнения, потом, при закрытии файла (file.close()) отправляет этот буфер в буфер операционной системы, после чего он записывается, возможно даже не сразу. Для того чтобы он записался в файл сразу, выполняю сброс буфера операционной системы для мгновенной дозаписи в файл по дескриптору (os.fsync(file.fileno())).
Суть вопроса:
При принудительном сбросе буфера после каждой записи, память не утекает, но очень сильно замедляется процесс. Если это делать если записей наберётся около 100+ и вызывать принудительный сброс буфера, то начинается утечка памяти.
Почему так происходит? если у кого-то будет ответ, прикрепите его ответом к моему сообщению
как ты понял, что у тебя утечка?
Обсуждают сегодня