Passer au contenu principal
Correction de la fuite de mémoire

Arrêtez la fuite de mémoire de Monosnap — changez en 60 secondes

La fuite est documentée depuis des années. Elle ne sera pas corrigée. Maxisnap utilise ~50 Mo au repos et reste stable toute la journée. Même raccourci Ctrl+Alt+5, pas de réapprentissage.

Journée de travail de 8 heures, RAM en Mo
Monosnap, heure 0180
Monosnap, heure 2295
Monosnap, heure 4452
Monosnap, 8e heure812
Maxisnap, à toute heure51

La fuite n'est pas due à votre ordinateur

Si vous vous êtes demandé si le problème venait de votre machine — un ancien pilote, des bizarreries de Windows 11, un onglet Chrome incontrôlable — ce n'est pas le cas. La fuite est interne à Monosnap et ce, depuis des années. Recherchez r/monosnap et vous trouverez fil de discussion après fil de discussion décrivant le même schéma.

Voici ce qui se passe en coulisses. Chaque fois que Monosnap capture une région, il alloue un tampon de trame (frame buffer) suffisamment grand pour contenir les données brutes des pixels. Pour un écran de 2560 x 1440, cela représente environ 14 Mo. Lorsque l'éditeur se ferme, ces tampons devraient être libérés vers le système d'exploitation. Dans Monosnap, ce n'est souvent pas le cas — ils sont conservés par le tas du moteur de rendu Electron, en attente d'un passage de récupération de mémoire (garbage collection) qui ne s'exécute jamais ou trop tard. Au cours d'une journée de travail avec plus de 40 captures, les tampons retenus s'accumulent en centaines de mégaoctets de RAM fantôme.

La solution est une application différente

L'architecture de Monosnap lie la fuite à Electron lui-même, et la corriger nécessiterait de réécrire le pipeline de capture. Cette réécriture n'a pas eu lieu depuis cinq ans. La solution pratique est un outil qui a été conçu sans ce problème dès le départ.

Maxisnap est basé sur PyQt6 et compilé avec PyInstaller en un seul exécutable Win32. Il n'y a pas de processus Chromium. Chaque capture alloue un QImage, l'éditeur y fait référence, et lorsque la fenêtre se ferme, la référence est supprimée et la mémoire est immédiatement restituée au système d'exploitation — car le modèle de propriété de PyQt et le comptage de références de Python libèrent tous deux la mémoire de manière proactive plutôt que d'attendre un GC générationnel.

Empiriquement : Maxisnap au repos au démarrage est d'environ 50 Mo. Après 72 heures de fonctionnement continu avec des captures régulières, il est toujours d'environ 50 Mo. Le graphique ci-dessus provient de journaux réels.

Moins de 60 secondes

Procédure de migration

  1. 0:00
    Téléchargez Maxisnap. Accédez à la page de téléchargement. Un clic, 63 Mo.
  2. 0:15
    Quittez Monosnap. Faites un clic droit sur son icône dans la barre d'état système, choisissez Quitter. Regardez votre RAM chuter de 600 Mo.
  3. 0:30
    Exécutez l'installateur. Chemin d'installation par défaut, aucun redémarrage requis.
  4. 0:45
    Appuyez sur Ctrl+Alt+5. Votre première capture avec le même raccourci clavier que vous avez toujours utilisé. L'éditeur s'ouvre instantanément.
  5. 0:60
    Terminé. Collez vos identifiants SFTP/S3 dans les Paramètres si vous souhaitez télécharger sur un serveur.
FAQ

Questions sur la fuite de mémoire

Je ne prends que 5 captures d'écran par jour. La fuite m'affecte-t-elle toujours ?

Moins sévèrement, mais oui. La mémoire au repos continue de croître car Monosnap interroge le presse-papiers et la barre d'état système même lorsque vous ne capturez pas. La croissance est plus lente en cas de faible utilisation mais ne s'arrête jamais.

Le redémarrage de l'application aide-t-il ?

Temporairement. Quittez et relancez, et vous êtes de retour à environ 180 Mo. Mais la plupart des utilisateurs qui remarquent la fuite en sont arrivés là parce qu'ils gardent leur outil de capture d'écran en marche toute la journée, et le redémarrer plusieurs fois est l'opposé de ce qu'ils souhaitent.

Qu'en est-il de Monosnap sur macOS ?

La fuite est moins sévère sur macOS car le modèle de mémoire diffère, mais les utilisateurs signalent toujours une croissance progressive. La version macOS de Maxisnap est expérimentale. Pour Windows, passez à Maxisnap dès aujourd'hui.

Votre RAM vous remerciera

Maxisnap est gratuit. L'installation prend 60 secondes. Les mêmes raccourcis clavier que vous utilisez déjà.

Télécharger Maxisnap

Articles similaires : pourquoi il est devenu lent · correctif de blocage · alternative générale