Únik není ve vašem počítači
Pokud jste si říkali, jestli to není váš počítač — starý ovladač, zvláštnosti Windows 11, nekontrolovatelná záložka Chrome — není. Únik je uvnitř Monosnap a trvá to roky. Hledejte r/monosnap a najdete vlákno za vláknem popisující stejný vzorec.
Zde je, co se děje pod kapotou. Pokaždé, když Monosnap zachytí oblast, alokuje vyrovnávací paměť (frame buffer) dostatečně velkou pro uložení nezpracovaných pixelových dat. Pro obrazovku 2560 x 1440 je to zhruba 14 MB. Když se editor zavře, tyto buffery by měly být uvolněny zpět do OS. V Monosnap se tak často neděje — jsou zadržovány haldou renderovacího procesu Electronu a čekají na průchod garbage collection, který buď nikdy nenastane, nebo nastane příliš pozdě. Během pracovního dne s 40+ zachyceními se zadržené buffery nahromadí do stovek megabajtů fantomové RAM.
Řešením je jiná aplikace
Architektura Monosnap váže únik k samotnému Electronu a oprava by vyžadovala přepsání celého procesu zachycování. K tomuto přepisu nedošlo za pět let. Praktickým řešením je nástroj, který byl od počátku navržen bez tohoto problému.
Maxisnap je postaven na PyQt6 a zkompilován pomocí PyInstaller do jediného spustitelného souboru Win32. Neexistuje žádný proces Chromium. Každé zachycení alokuje QImage, editor na něj odkazuje, a když se okno zavře, odkaz je zrušen a paměť se okamžitě vrátí do OS — protože model vlastnictví PyQt a počítání referencí Pythonu uvolňují paměť okamžitě, namísto čekání na generační GC.
Empiricky: Maxisnap v klidu při spuštění zabírá kolem 50 MB. Po 72 hodinách nepřetržitého běhu s pravidelnými zachyceními je stále kolem 50 MB. Graf výše pochází ze skutečných logů.
Postup přepnutí
- 0:00Stáhněte si Maxisnap. Přejděte na stránku ke stažení. Jedno kliknutí, 63 MB.
- 0:15Ukončete Monosnap. Klikněte pravým tlačítkem na ikonu v oznamovací oblasti, zvolte Ukončit. Sledujte, jak vaše RAM klesne o 600 MB.
- 0:30Spusťte instalátor. Výchozí instalační cesta, není nutný restart.
- 0:45Stiskněte Ctrl+Alt+5. Vaše první zachycení se stejnou klávesovou zkratkou, jakou jste vždy používali. Editor se otevře okamžitě.
- 0:60Hotovo. Vložte své SFTP/S3 přihlašovací údaje do Nastavení, pokud chcete nahrávat na server.
Otázky k úniku paměti
Pořizuji jen 5 snímků obrazovky denně. Ovlivňuje mě únik paměti stále?
Méně závažně, ale ano. Paměť v klidu stále roste, protože Monosnap kontroluje schránku a oznamovací oblast systému, i když nic nezachycujete. Růst je při nízkém využití pomalejší, ale nikdy se nezastaví.
Pomůže restartování aplikace?
Dočasně. Ukončete a znovu spusťte a vrátíte se na ~180 MB. Většina uživatelů, kteří si úniku všimnou, se k tomu dostala, protože nechávají svůj nástroj na snímky obrazovky běžet celý den, a opakované restartování je opakem toho, co chtějí.
Co Monosnap na macOS?
Únik je na macOS méně závažný, protože se liší paměťový model, ale uživatelé stále hlásí postupný růst. Sestavení Maxisnap pro macOS je experimentální. Pro Windows přejděte dnes.
Vaše RAM vám poděkuje
Maxisnap je zdarma. Instalace trvá 60 sekund. Stejné klávesové zkratky, jaké již používáte.
Stáhnout MaxisnapSouvisející: proč se zpomalil · oprava zamrzání · obecná alternativa