try to take over the world!
На страницах каких ресурсов это происходит? При обычном использовании я наблюдаю чуть больше 50mb.
Сложно сказать. Открыт обычно Гугл, ВК, StackOverflow, Яндекс.
Попробуйте выявить, на каком сайте можно стабильно воспроизвести проблему.
На сколько я знаю мой скрипт, как и множество других, работают в контексте страницы и не должны влиять на объём, занимаемый Tampermonkey. Впрочем, можно попробовать разобраться. Попробуйте на открытых страницах открыть инспетктор страницы Ctrl+Shift+I или F12, перейти на вкладку Memory, нажать там Take Snapshot и Save. Результат в архив и на гугло-диск или яндекс-диск, а ссылку сюда. Я попробую разобраться есть ли там мой косяк. Желательно выключить другие расширения / скрипты и желательно сократить количество анализируемых страниц до минимума.
Кстати, скорее всего это Яндекс, если это вообще вина скрипта.
Добрый день! Записал снэпшот, пока на паре страниц - Яндекс и Яндекс.Погода. Отключены все расширения, кроме uBlock Origin и Tampermonkey.
https://drive.google.com/open?id=1EONTiusVaAUR3HwMU8UVFf-LjW8Y-T1A
Не помогло. Впрочем, получилось воспроизвести самому и посмотреть на память самого расширения.
Если я правильно понимаю, то дело не столько в моём скрипте, сколько в его размере. Tampermonkey не только хранит его в памяти целиком, но ещё и генерирует множество копий, разбитых в блоки по 32Кб. Аналогичное поведение можно заметить установив какой-нибудь другой огромный скрипт вроде этого: https://gf.qytechs.cn/en/scripts/37654-popup-blocker-script Попробуйте выключить/удалить мой скрипт и установить указанный выше. Должно даже больше занять. А если оба сразу, то TM легко раздувается до 150 Мб+ при нескольких вкладках Яндекса или нескольких обновлениях страницы подряд.
Зачем он так делает для меня загадка, но я этим процессом из своего кода управлять никак не могу. Впрочем, это и не утечка памяти так-как если вкладки того же Яндекса закрыть, то со временем ранее занятая этими копиями память в расширении высвобождается так-как ссылок на эти строки больше не остаётся и их удаляет сборщик мусора.
Всё понятно, спасибо! Перевключение расширения действительно помогает - память освобождается. Может быть, написать автору TamperMonkey?
Написал автору письмо так-как форум на данный момент закрыт. Посмотрим ответит ли.
@"Lain inVerse" said: Написал автору письмо Спасибо!
До сих пор не ответил. Будем дальше посмотреть.
Автор ответил, что провёл некоторые оптимизации кода и теперь расширение должно потреблять меньше памяти:
http://tampermonkey.net/changelog.php?version=4.7.5798&ext=gcal
Правда почему код оказывается порезан на блоки по 32 Кб он сам пока не в курсе. Похоже это какие-то фокусы самого JS.
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
Memory Leak
Latest Chrome (67.0.3396.79), Tampermonkey 4.6.
This script causes memory leak, Chrome's Task Manager shows that the Tampermonkey extension consumes over 100 MB of memory.