Почему использование памяти Firefox продолжает расти с использованием и никогда не возвращается к исходному уровню?

13

Я в основном использую Firefox в качестве своего веб-браузера. Я заметил, что после того, как некоторые вкладки были открыты и закрыты, использование Firefox памяти становится все больше и больше.

Этот факт часто приводит меня к сбою (намеренно используя диспетчер задач) и открытию его снова, выбирая только некоторые из вкладок, которые мне нужны. Есть случаи, когда я открываю все свои ранее открытые вкладки. Самое смешное, что даже в этом случае использование памяти намного меньше, чем до выключения Firefox.

Итак, мой вопрос: почему это происходит? Почему закрытие вкладок не помогает (по крайней мере, не так много)? Есть ли способ уменьшить использование памяти, не выключая Firefox?

Eypros
источник
1
Когда вы говорите «память», что именно вы имеете в виду? Резидентный размер набора? Совершить заряд? Размер виртуального адреса? Как вы измеряете и какую операционную систему вы используете? Кроме того, почему вы намеренно терпите крах? У вас есть какая-то актуальная проблема? Или вы предпочитаете, чтобы оперативная память была потрачена впустую, чем использовалась?
Дэвид Шварц
1
Извините, по поводу недостающей информации. Я использую win7, я имею в виду оперативную память, я измеряю просто наблюдая вкладку диспетчера задач, чтобы оценка памяти не была слишком точной. Дело в том, что Firefox иногда использует до 2 ГБ памяти, что не кажется разумным для количества и содержания открытых вкладок.
Eypros
Какая вкладка - «Рабочий набор (память)»?
Дэвид Шварц
1
Я могу порекомендовать небольшой аддон, позволяющий легко перезапустить Firefox. addons.mozilla.org/ru/firefox/addon/restartless-restart
Михаил Москалев
1
Возможный дубликат Есть ли способ уменьшить использование памяти Firefox?
таки другой случайный пользователь

Ответы:

5

Введите about: memory в адресную строку. Нажмите «Минимизировать использование памяти».

https://support.mozilla.org/en-US/kb/firefox-uses-too-much-memory-ram

Дэвид Маршалл
источник
+1. Я не знаю, решит ли это все мои проблемы, но все равно было полезно, так что спасибо.
Eypros
7
Это полностью не может ответить на основной вопрос. «Почему мое использование памяти Firefox продолжает расти с использованием и никогда не возвращается к исходному уровню?»
Дэвид Шварц
И, кстати, вы бы хотели сделать это, только если вы тестировали или тестировали. Это просто вынуждает вашу систему тратить память, которую она использовала, даже если в этом нет необходимости. (Он делает это автоматически, если это необходимо, люди, которые пишут Firefox, не глупы и не заставят вас бессмысленно нажимать на хорошо скрытый переключатель, просто чтобы заставить вещи работать лучше.)
Дэвид Шварц
4

Первое, что я подозреваю, это то, что некоторые из плагинов теряют память или часто ее используют.

Например, AdBlock Plus часто заставляет Firefox значительно увеличить использование памяти. Причина в том, что он вставляет большие таблицы стилей в каждый кадр. (Ghostery - более эффективная альтернатива памяти, хотя она служит другой цели.)

Итак, как предлагается в комментариях, если использование памяти не кажется разумным, попробуйте отключить все плагины и посмотреть, поможет ли это.

Роман Бойко
источник
1
@screener предложил альтернативу, которая служит той же цели, что и AdBlock, addons.mozilla.org/firefox/addon/ublock
Роман Бойко,
Этот ответ показывает вам, как узнать, какие аддоны занимают больше всего памяти: superuser.com/questions/5939/…
YetAnotherRandomUser
1

Если вам нужна оперативная память для других целей, просто перезапустите Firefox. Это также минимизирует использование памяти.

Вы даже можете сказать Firefox, что он не должен загружать все страницы при перезапуске:

Firefox button -> Options -> Tabs -> Don't load tabs until selected

Кроме того, я заметил высокий уровень использования памяти Adblock Plus. Adblock Edge, похоже, не имеет этой проблемы. Отключение Adblock Plus также освобождает память.

Smile4ever
источник
0

RAM не может быть сохранен на потом. Ваш единственный выбор - использовать это или тратить его впустую. Система с 8 ГБ ОЗУ не может использовать 4 ГБ сегодня, чтобы завтра использовать 12 ГБ.

Итак, проще говоря, Firefox использует больше памяти, потому что альтернативой было бы потратить эту память впустую. Он не возвращается к первоначальному уровню, потому что для этого потребуются усилия, и не будет никакой пользы от его расширения.

Дело в том, что Firefox иногда использует до 2 ГБ памяти, что не кажется разумным для количества и содержания открытых вкладок.

Вполне разумно, если альтернативой является потеря некоторой части ОЗУ и отсутствие каких-либо данных. Как минимум, это позволяет Firefox использовать до 2 ГБ памяти без необходимости выделять больше памяти, что является победой. Освобождение и выделение памяти требует усилий. Интеллектуальные системы расходуют усилия только тогда, когда есть ожидаемая выгода. Они, конечно, не делают работу, которую им, вероятно, придется просто отменить позже.

Современные операционные системы стараются изо всех сил иметь как можно меньше свободной оперативной памяти. Свободное ОЗУ тратится впустую. Если в течение последнего часа у вас было 1 ГБ свободного места, вы не получили никакой выгоды от этого 1 ГБ за последний час. Если вы думаете: «Я хочу освободить эту оперативную память сейчас, чтобы потом использовать ее позже», забудьте об этом. Вы можете использовать его сейчас и использовать его позже. Там нет болезненного компромисса, чтобы сделать здесь.

Дэвид Шварц
источник
7
Может быть, мы вступаем в философский разговор о том, что полезно. С моей точки зрения, я не могу использовать память, содержащую «возможно полезную информацию», как вы упомянули, поскольку она выделяется Firefox. Так что я мог просто получить сообщение о нехватке памяти от другого приложения, которое я использую.
Eypros
5
@DavidSchwartz: это полная чушь. что, черт возьми, "прямой переход памяти"? если памяти мало, одно приложение должно дать, чтобы другое могло взять (альтернатива - страшная замена ...). «Современные операционные системы делают это очень эффективно» - что делать ?? они могут избавиться от кода и страниц библиотеки, потому что они могут быть повторно отражены, они могут играть со страницами кэша ФС, но не могут забрать память, которая обычно используется (например: Firefox хранит закрытую вкладку или изображения, чтобы их можно было открывать быстрее. ).
Кароли Хорват
11
-1 по той же причине, что и @KarolyHorvath. На машине с 4 ГБ (что в настоящее время составляет «меньше среднего»), FF, занимающая 2,5 ГБ резидентной памяти (я на Linux), нецелесообразна, поскольку она отнимает память у других приложений . Когда я закрываю несколько вкладок, я ожидаю, что FF освободит теперь неиспользуемую память, чтобы другие приложения или само ядро ​​в этом отношении (которое любит агрессивно кэшировать, значительно увеличивая общую производительность) могут использовать его. Это главный спор между разработчиком и системным администратором: если вам больше не нужна память, отпустите ее, вы не одиноки в этой системе.
MoonSweep
8
Даунвот за одну из самых глупых идей: «Давайте
потратим
7
Похоже, вы утверждаете, что для Firefox вполне допустимо раздуть до 2 ГБ, потому что эта память просто подкачка, и поэтому другим программам не помешает иметь эти 2 ГБ. Это неверно Большая часть этих 2 Гбайт - это грязные страницы, которые нужно очищать. Вне. Более того, когда Firefox решает запустить какую-то сборку мусора на этом промысле, он должен быть перенесен обратно: и это произойдет в некотором случайном порядке, который приводит к поискам повсюду на обычном вращающемся жестком диске. Не записывать 2Gb на диск и читать его обратно гораздо эффективнее, чем делать это.
Каз