Désactiver garbage collection automatique pour éliminer les freezes périodiques MJPEG
GC Python génération 0 (seuil 700 objets) peut déclencher des pauses d'arrêt-du-monde (~1-2s) périodiquement quand l'encodage JPEG crée beaucoup d'objets temporaires NumPy. Désactiver le GC automatique pendant l'exécution élimine ces jitters, en particulier les freezes observés toutes les ~11s. Cleanup propre à l'arrêt via gc.collect() manuel. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VmaVcCrWp2QG7hkEDk15Cv
This commit is contained in:
@ -10,6 +10,7 @@ UDP n'est pas disponible, pour tester sans le Pi Zero.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import gc
|
||||
import json
|
||||
import socket
|
||||
import sys
|
||||
@ -379,6 +380,9 @@ class MJPEGHandler(BaseHTTPRequestHandler):
|
||||
def main():
|
||||
global _running
|
||||
|
||||
gc.disable()
|
||||
print("[CAM] GC automatique désactivé pour éviter les pauses.")
|
||||
|
||||
parser = argparse.ArgumentParser(description="WireClaw — réception caméra + YOLOv8")
|
||||
parser.add_argument("--no-yolo", action="store_true", help="Désactiver l'inférence YOLOv8 (flux brut)")
|
||||
args = parser.parse_args()
|
||||
@ -418,6 +422,8 @@ def main():
|
||||
finally:
|
||||
_running = False
|
||||
server.shutdown()
|
||||
gc.enable()
|
||||
gc.collect()
|
||||
print("[CAM] Arrêt.")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user