Сначала отличите утечку живых объектов от фрагментации и удержания памяти allocator. Для prefork Celery полезна плановая замена дочерних процессов по числу задач или объёму памяти, но это не исправляет причину.
TOCTOU — гонка между проверкой пути и действием: после exists() или проверки прав файл может быть заменён. По возможности выполняйте нужную операцию атомарно и проверяйте уже открытый дескриптор.
Python int имеет произвольную точность, ограниченную доступной памятью и ресурсами. float обычно использует 64-битный двоичный формат с конечным диапазоном и ограниченной точностью.
За один проход отслеживайте, сохраняется ли неубывание и невозрастание. Если оба признака стали ложными, массив немонотонен; равные элементы не нарушают ни одно направление.
В Pydantic v2 валидация и сериализация выполняются pydantic-core на Rust по заранее построенной схеме. Это уменьшает накладные расходы Python, но ускорение и расход памяти зависят от модели.
Освобождение объекта не гарантирует немедленного уменьшения памяти процесса: Python и системный allocator могут оставить блоки для повторного использования. Закрытие файла отдельно освобождает файловый ресурс.
deepcopy обходит граф объектов и создаёт копии вложенных изменяемых частей. Словарь memo связывает уже посещённые объекты с копиями, предотвращая бесконечный обход циклов и сохраняя общие ссылки.
Имя a связывается с объектом целого числа 5. Присваивание не создаёт отдельную изменяемую ячейку с копией числа: имя хранит ссылку на объект, который для константы может уже существовать.
OOM Killer выбирает процесс для завершения при нехватке доступной памяти; учитываются потребление и oom_score_adj. Защита начинается с ограниченного расхода памяти, а не с запрета убивать процесс.
Исключения распространяются по стеку до подходящего обработчика, выполняя необходимые finally. except Exception опасен не сам по себе, а когда скрывает неожиданные ошибки и продолжает работу.
Zero-copy уменьшает лишние копирования между ядром и приложением. Для файла и блокирующего TCP-сокета Python предоставляет socket.sendfile(), использующий системную поддержку, когда она доступна.
Исключение поднимается по стеку до подходящего except. except Exception не всегда антипаттерн, но опасен при подавлении ошибок; SystemExit и KeyboardInterrupt он не перехватывает.