Утечка памяти? Firefox / Chromium заполняют RAM

Из linuxatemyram.com:

Если вашим приложениям требуется больше памяти, они просто берут обратно кусок, который заимствовал кеш диска. Кэш диска всегда можно сразу вернуть к приложениям! У вас нет ни одного барана!

Это неверно. Что-то ест ОЗУ и не вернет его. Вариант использования - Chromium или Firefox с большим количеством вкладок, а затем выйти из них.

Несколько цифр, чтобы показать, что я имею в виду:

При загрузке: & lt; 2GB используется обычно ~ 1,7 ГБ.

Откройте кучу вкладок в FF / Chromium, в конечном итоге используется более 8 ГБ

Закройте FF / Chromium и 3.5GB.

Что такое 3,5-1,7 = 1,8 ГБ? Назовем его X.

Является ли X кэшем памяти? Утечка памяти? Почему и Firefox, и Chromium воспроизводят точные результаты?

Открытие вкладок в конечном итоге полностью заполняет мою 8-гигабайтную оперативную память, система замерзает, а затем в конечном итоге забивает / замораживает / сбрасывает, освобождая достаточно памяти для продолжения.

Правильная функция, которую я хотел бы пожелать Ubuntu, привела бы к тому, что ад вернулся к приложениям, когда они захотят запустить RAM. Однако, когда я запускаю приложение, и большая часть ОЗУ была съедена X, независимо от того, был ли он создан одним из 2 основных браузеров, никакой ОЗУ не возвращено из X. Осталось до перезагрузки.

Использование «бесплатных» и других инструментов не помогло мне диагностировать WTF X.

Любые идеи?

Свободные выходы:

Около минуты после выхода из хрома.

total used free shared buff/cache available Mem: 8035708 4037332 2202604 1014656 1795772 2713256 Swap: 12441592 0 12441592

Немного позже.

total used free shared buff/cache available Mem: 8035708 2497680 4168392 552812 1369636 4715280 Swap: 12441592 0 12441592

Через день, после заполнения до 7,9 ГБ и всех таблеток сбой.

total used free shared buff/cache available Mem: 8035708 5855132 739016 1012864 1441560 923084 Swap: 12441592 975712 11465880

После аналогичного заполнения и сбоя.

total used free shared buff/cache available Mem: 8035708 5777812 638932 714256 1618964 1273920 Swap: 12441592 0 12441592

Спустя некоторое время, открыв хром, запустил его на несколько часов (не до максимальной ОЗУ), закрыл его: [ ! d19] total used free shared buff/cache available Mem: 8035708 737080 5869896 438592 1428732 6604848 Swap: 12441592 524436 11917156

Сразу после загрузки:

total used free shared buff/cache available Mem: 8035708 689232 6449124 322912 897352 6769772 Swap: 12441592 0 12441592

После выхода Chromium:

total used free shared buff/cache available Mem: 8035708 967988 5677848 531960 1389872 6284744 Swap: 12441592 336 12441256
1
задан 13 April 2017 в 09:56

3 ответа

Насколько я могу судить, нет никаких проблем. «Доступная» память ведет себя так, как ожидалось. Поскольку приложения требуют больше памяти, доступная память уменьшается; Когда они уходят, доступная память снова вскакивает.

Также нормально, что система становится вялой или пользовательский интерфейс полностью останавливается, пока система обращается к месту подкачки, особенно если устройство поддерживает медленное , Жесткие диски, как правило, хуже, чем флеш-память из-за высокой задержки доступа.

Как известно, Chromium / Chrome и Firefox используют много памяти с большим количеством открытых вкладок. Либо добавьте больше оперативной памяти в вашу систему, либо значительно уменьшите количество открытых вкладок. Вы можете устранить проблему с помощью более быстрого устройства резервного копирования подкачки.

Вы можете запросить менеджера виртуальной памяти для текущей статистики памяти с помощью free -h (-h для форматирования чисел, читаемых человеком). Вы можете перечислить (N-1) процессы, занимающие большую часть памяти с помощью ps aux --sort -rss | head -n N или с помощью top и скорректированной сортировки.

Вас также может заинтересовать Как вы узнаете, какая программа использует слишком много памяти?

0
ответ дан 18 July 2018 в 15:10

Насколько я могу судить, нет никаких проблем. «Доступная» память ведет себя так, как ожидалось. Поскольку приложения требуют больше памяти, доступная память уменьшается; Когда они уходят, доступная память снова вскакивает.

Также нормально, что система становится вялой или пользовательский интерфейс полностью останавливается, пока система обращается к месту подкачки, особенно если устройство поддерживает медленное , Жесткие диски, как правило, хуже, чем флеш-память из-за высокой задержки доступа.

Как известно, Chromium / Chrome и Firefox используют много памяти с большим количеством открытых вкладок. Либо добавьте больше оперативной памяти в вашу систему, либо значительно уменьшите количество открытых вкладок. Вы можете устранить проблему с помощью более быстрого устройства резервного копирования подкачки.

Вы можете запросить менеджера виртуальной памяти для текущей статистики памяти с помощью free -h (-h для форматирования чисел, читаемых человеком). Вы можете перечислить (N-1) процессы, занимающие большую часть памяти с помощью ps aux --sort -rss | head -n N или с помощью top и скорректированной сортировки.

Вас также может заинтересовать Как вы узнаете, какая программа использует слишком много памяти?

0
ответ дан 24 July 2018 в 20:34
  • 1
    Попытайтесь заполнить свою реальную физическую память с помощью вкладок в FF или Chrome. Скоро вы начнете замену. Во-первых, замена сосать, и система замерзла / зависала в момент заполнения физической оперативной памяти. Я этого не заметил 17.10, но не пробовал. Во-вторых, заполните все свои физические RAM с вкладками в FF или Chrome. Теперь выйдите из FF или Chrome. Если оперативная память была выпущена как объявленная, все должно вернуться к тому, как она сразу после загрузки. Но это не так. Что-то огромное просто зависает в ОЗУ и никогда не восстанавливается и не используется. Будущее использование Chrome / FF будет превышать пределы физической памяти после всего лишь 1-2 ГБ. – Tom Mercer 19 November 2017 в 06:11
  • 2
    Это случилось и сегодня. Я просто открываю системный монитор и вижу, сколько физической памяти и оперативной памяти подкачки используется. Например, теперь, через несколько часов после замораживания у меня есть 5.0 / 7.6 физический и 2.8 / 4.0 swap. На самом деле, я использую около 1 ГБ ОЗУ. Всего несколько вкладок в хром. Если бы у меня было очень много использования Chromium в моей системе сразу после перезагрузки, это было бы 3,5 ГБ, используя max. Если система выполняла мою swappiness (1) и / или «освобождала ОЗУ для приложений по мере необходимости», тогда, когда я загружаю еще несколько десятков вкладок, система сделает доступную ОЗУ. Но это не так. И это не так. – Tom Mercer 20 November 2017 в 03:56
  • 3
    стресс действительно освобождает память. когда он останавливается, ОЗУ освобождается. однако, установите свою swappiness на 1, запустить стресс, чтобы заполнить всю вашу физическую RAM + сказать, 3/4 ваш своп, затем ctrl + c. Обратите внимание, как своп остается почти полным? Это плохое поведение. – Tom Mercer 20 November 2017 в 21:29
  • 4
    Я выполнил стресс для 3.2gb и первоначально был на 4.6 / 7.6 (real), 3.5 / 4.0 (swap). после стресса и ctrl + c, я на 4.6 / 7.6 (реальный) и 3.7 / 4.0 (swap). Это кажется неправильным. это происходит для вас? – Tom Mercer 20 November 2017 в 21:31
  • 5
    @TomMercer: Это только плохое и глупое поведение в первом случае заключается в том, чтобы установить swappiness в 1. VM все еще, по-видимому, ведет себя так, как предполагалось в этом случае. Если вы считаете, что виртуальная машина должна вести себя по-другому, напишите отчет об ошибке в bugzilla.kernel.org и посмотрите, как он закрывается как WONTFIX. Что касается второго случая, это действительно странно. Не могли бы вы добавить вывод free -h и список всех запущенных процессов и их потребление памяти? – David Foerster 20 November 2017 в 21:39

Насколько я могу судить, нет никаких проблем. «Доступная» память ведет себя так, как ожидалось. Поскольку приложения требуют больше памяти, доступная память уменьшается; Когда они уходят, доступная память снова вскакивает.

Также нормально, что система становится вялой или пользовательский интерфейс полностью останавливается, пока система обращается к месту подкачки, особенно если устройство поддерживает медленное , Жесткие диски, как правило, хуже, чем флеш-память из-за высокой задержки доступа.

Как известно, Chromium / Chrome и Firefox используют много памяти с большим количеством открытых вкладок. Либо добавьте больше оперативной памяти в вашу систему, либо значительно уменьшите количество открытых вкладок. Вы можете устранить проблему с помощью более быстрого устройства резервного копирования подкачки.

Вы можете запросить менеджера виртуальной памяти для текущей статистики памяти с помощью free -h (-h для форматирования чисел, читаемых человеком). Вы можете перечислить (N-1) процессы, занимающие большую часть памяти с помощью ps aux --sort -rss | head -n N или с помощью top и скорректированной сортировки.

Вас также может заинтересовать Как вы узнаете, какая программа использует слишком много памяти?

0
ответ дан 31 July 2018 в 23:36
  • 1
    Попытайтесь заполнить свою реальную физическую память с помощью вкладок в FF или Chrome. Скоро вы начнете замену. Во-первых, замена сосать, и система замерзла / зависала в момент заполнения физической оперативной памяти. Я этого не заметил 17.10, но не пробовал. Во-вторых, заполните все свои физические RAM с вкладками в FF или Chrome. Теперь выйдите из FF или Chrome. Если оперативная память была выпущена как объявленная, все должно вернуться к тому, как она сразу после загрузки. Но это не так. Что-то огромное просто зависает в ОЗУ и никогда не восстанавливается и не используется. Будущее использование Chrome / FF будет превышать пределы физической памяти после всего лишь 1-2 ГБ. – Tom Mercer 19 November 2017 в 06:11
  • 2
    Это случилось и сегодня. Я просто открываю системный монитор и вижу, сколько физической памяти и оперативной памяти подкачки используется. Например, теперь, через несколько часов после замораживания у меня есть 5.0 / 7.6 физический и 2.8 / 4.0 swap. На самом деле, я использую около 1 ГБ ОЗУ. Всего несколько вкладок в хром. Если бы у меня было очень много использования Chromium в моей системе сразу после перезагрузки, это было бы 3,5 ГБ, используя max. Если система выполняла мою swappiness (1) и / или «освобождала ОЗУ для приложений по мере необходимости», тогда, когда я загружаю еще несколько десятков вкладок, система сделает доступную ОЗУ. Но это не так. И это не так. – Tom Mercer 20 November 2017 в 03:56
  • 3
    стресс действительно освобождает память. когда он останавливается, ОЗУ освобождается. однако, установите свою swappiness на 1, запустить стресс, чтобы заполнить всю вашу физическую RAM + сказать, 3/4 ваш своп, затем ctrl + c. Обратите внимание, как своп остается почти полным? Это плохое поведение. – Tom Mercer 20 November 2017 в 21:29
  • 4
    Я выполнил стресс для 3.2gb и первоначально был на 4.6 / 7.6 (real), 3.5 / 4.0 (swap). после стресса и ctrl + c, я на 4.6 / 7.6 (реальный) и 3.7 / 4.0 (swap). Это кажется неправильным. это происходит для вас? – Tom Mercer 20 November 2017 в 21:31
  • 5
    @TomMercer: Это только плохое и глупое поведение в первом случае заключается в том, чтобы установить swappiness в 1. VM все еще, по-видимому, ведет себя так, как предполагалось в этом случае. Если вы считаете, что виртуальная машина должна вести себя по-другому, напишите отчет об ошибке в bugzilla.kernel.org и посмотрите, как он закрывается как WONTFIX. Что касается второго случая, это действительно странно. Не могли бы вы добавить вывод free -h и список всех запущенных процессов и их потребление памяти? – David Foerster 20 November 2017 в 21:39

Другие вопросы по тегам:

Похожие вопросы: