RU AdList JS Fixes

try to take over the world!

< 脚本RU AdList JS Fixes的反馈

评价:一般 - 脚本能用,但还有一些问题

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.

§
发表于:2018-06-07

На страницах каких ресурсов это происходит? При обычном использовании я наблюдаю чуть больше 50mb.

Сложно сказать. Открыт обычно Гугл, ВК, StackOverflow, Яндекс.

§
发表于:2018-06-09

Попробуйте выявить, на каком сайте можно стабильно воспроизвести проблему.

Lain inVerse作者
§
发表于:2018-06-10
编辑于:2018-06-10

На сколько я знаю мой скрипт, как и множество других, работают в контексте страницы и не должны влиять на объём, занимаемый Tampermonkey. Впрочем, можно попробовать разобраться. Попробуйте на открытых страницах открыть инспетктор страницы Ctrl+Shift+I или F12, перейти на вкладку Memory, нажать там Take Snapshot и Save. Результат в архив и на гугло-диск или яндекс-диск, а ссылку сюда. Я попробую разобраться есть ли там мой косяк. Желательно выключить другие расширения / скрипты и желательно сократить количество анализируемых страниц до минимума.

Кстати, скорее всего это Яндекс, если это вообще вина скрипта.

Добрый день! Записал снэпшот, пока на паре страниц - Яндекс и Яндекс.Погода. Отключены все расширения, кроме uBlock Origin и Tampermonkey.

https://drive.google.com/open?id=1EONTiusVaAUR3HwMU8UVFf-LjW8Y-T1A

Lain inVerse作者
§
发表于:2018-06-13
编辑于:2018-06-13

Не помогло. Впрочем, получилось воспроизвести самому и посмотреть на память самого расширения.

Если я правильно понимаю, то дело не столько в моём скрипте, сколько в его размере. Tampermonkey не только хранит его в памяти целиком, но ещё и генерирует множество копий, разбитых в блоки по 32Кб. Аналогичное поведение можно заметить установив какой-нибудь другой огромный скрипт вроде этого: https://gf.qytechs.cn/en/scripts/37654-popup-blocker-script Попробуйте выключить/удалить мой скрипт и установить указанный выше. Должно даже больше занять. А если оба сразу, то TM легко раздувается до 150 Мб+ при нескольких вкладках Яндекса или нескольких обновлениях страницы подряд.

Зачем он так делает для меня загадка, но я этим процессом из своего кода управлять никак не могу. Впрочем, это и не утечка памяти так-как если вкладки того же Яндекса закрыть, то со временем ранее занятая этими копиями память в расширении высвобождается так-как ссылок на эти строки больше не остаётся и их удаляет сборщик мусора.

Всё понятно, спасибо! Перевключение расширения действительно помогает - память освобождается. Может быть, написать автору TamperMonkey?

Lain inVerse作者
§
发表于:2018-06-14

Написал автору письмо так-как форум на данный момент закрыт. Посмотрим ответит ли.

@"Lain inVerse" said: Написал автору письмо Спасибо!

Lain inVerse作者
§
发表于:2018-06-15

До сих пор не ответил. Будем дальше посмотреть.

Lain inVerse作者
§
发表于:2018-06-23

Автор ответил, что провёл некоторые оптимизации кода и теперь расширение должно потреблять меньше памяти:

http://tampermonkey.net/changelog.php?version=4.7.5798&ext=gcal

Правда почему код оказывается порезан на блоки по 32 Кб он сам пока не в курсе. Похоже это какие-то фокусы самого JS.

发表回复

登录(不可用)以发表回复。

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址