Сколько оперативки ест Firefox?

alextu

У меня Firefox в среднем занимает от 120 до 170 Мб оперативки.
В пустом виде - 90 Мб.
Это нормально? ИМХО многовато. Думаю, не вирус ли..

spitfire

Вполне нормально для него, по-моему. У меня с где-то 20'ю вкладками и несколькими аддонами 350 мегабайт сейчас.

alextu

Ну хорошо. Успокоил.
Интересно, зачем ему столько? :)

schipuchka1

у меня пол гига занимает

sarak23

Интересно, зачем ему столько? :)
щас все сайты напичканы громадным количеством мультимедийного говна в виде толстых не оптимизированных картинок, баннеров, флешей и прочей шняги. Недавно пришлось посидеть через 33 кбитный модем, так пока загрузился сайт одного из ресурсов - прошло минут 5 наверное.(Щас все положили хрен на оптимизацию, ибо инет у большинство людей толстый)

oksana12

Ну вот у меня с тремя открытыми страницами - 90 метров. С восемью - 110.

juliuzz

включи в таскманагере столбец использованной виртуальной памяти и открой для себя много нового

athenae

15 страниц - 120 оперативки и 100 виртуалки

oksana12

Да оно как бы всегда открыто. Посмотрел - не помогло. Что я делаю не так? ;)
Ну а по теме я уже высказался.
З.Ы. Сейчас - семь вкладок. Используется 110 метров памяти. По схеме 60+50. Еще вопросы есть?
З.Ы. А вот в Линуксе у меня голый файрфокс занимает виртуальной памяти на 350 метров. Мне пора паниковать? ;)

dgaf

>Мне пора паниковать?
нет, читать что такое VIRT, RES и SHR

oksana12

нет, читать что такое VIRT, RES и SHR

Разве там не стоит подмигивающий смайлик?

Fimida

Что делать (для стабильности Windows XP)?
Память увеличить не могу

Troyn09

~50 вкладок - 270*200Мб

YUAL

вообще был какойто параметр в about:config который отвечал за уменьшение юзания памяти.

kokto

У меня 73,5

BondarAndrey

включи в таскманагере столбец использованной виртуальной памяти и открой для себя много нового
Какой идиот считает виртуальную память? Считать следует только резидентную.

yroslavasako

Какой идиот считает виртуальную память?
я. у меня выключен своп.

BondarAndrey

я. у меня выключен своп.
Да я уже успел оценить твою компетенцию, можешь не продолжать.
Если кто-то написал в своей программе malloc(1024000000) это еще не значит, что программа использует 1 Гб оперативы. Память будет реально выделена тогда, когда ты ей попытаешься воспользоваться. А в в размер vm она попадет. Кучу программ резервируют памяти больше, чем используют. Более того, если это программа использующая разделяемые библиотеки, то в размер ее vm войдут объемы всех страниц отображенного в память процесса кода разделяемых библиотек. Давай посчитаем 10 раз объем glibc и купим еще пару планок памяти, так как нам "не хватает"!

yroslavasako

твой довод понятен. Ты ещё mmap можешь добавить в свой список. Но и считать только резидентную (которая не выгружается никогда) тоже недостаточно информативно. Или у слова резидентная другое значение?

BondarAndrey

твой довод понятен. Ты ещё mmap можешь добавить в свой список. Но и считать только резидентную (которая не выгружается никогда) тоже недостаточно информативно. Или у слова резидентная другое значение?
RSS, если совсем правильно говорить.
На самом деле, в современных ОС весьма трудно определить, сколько же памяти использует программа. Скажем запустили мы ее первый экземпляр — в системе объем свободной памяти (физических страниц уменьшился, допустим, на 100 Мб. Запустили второй и — опа — он уменьшился только на 50. Почему? А программ использует разделяемую библиотеку, которая загружается единожды. Далее, объем памяти растет при работе приложения, но и здесь не все просто. Если процесс выделяет/освобождает память постоянно, то свободная память фрагментируется: начинает состоять их небольших кусков, разделенных занятыми участками. В результате без дефрагментации весь блок вернуть ОС не удается.

AlexV769

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

BondarAndrey

да, более того это ещё и задокументировали как фичу - Веп-два-ноль.
Как же афиша после внедрения этого вепа стала тормозить на 1мбите...
Так это так всегда. ТОлько железо дорастет до того, что самая дешевая конфа достаточно успешно выполняет практически все задачи — придумывают новую фигню. Этот идиотский бум с HDTV, HD, и FullHD. Кому нужно разрешение 1900 на хз сколько на 13-15 дюймовых матрицах ноутов, в лучшем случае 1400 на 1050 или 19-21 дюймовых мониках не выше 1600? Причем с говняной цветопередачей (в массе своей) и поганим временем отклика, когда все замыливается вне всякой связи с качеством кина?

yroslavasako

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

BondarAndrey

наверное тем, кто понимает какое железо нужно для просмотра этого видео, включая требования к монитору.
Это никому не нужно. Обычные маркетоидные уловки: когда нечего продавать, спрос следует создать. Вот и пошла новая гонка: обнови CPU, обнови материнку, обнови жестак, поскольку 500 Гб теперь слишком мало даже дял пары десятков фильмов, обнови монитор на 26" и т.д и все ради того, чтобы ощутить собственную крутость. Прнуху можно смотреть в разрешении 1900 на хз знает сколько. Можно разглядеть бородавку на пи$де у главной героини, даже тщательно замаскированную тональником. Офигительно круто!
Потреблядство в чистом виде.

Dasar

Какой идиот считает виртуальную память? Считать следует только резидентную.
считать надо именно виртуальную, т.к. именно она влияет на скорость работы.
проделай простой эксперимент:
запусти task manager
посмотри сколько развернутая программа занимает реальной памяти,
заминимайз программу
и опять загляни в task manager
разница будет на порядок
и это означает, что потом после разворота программы обратно - все это будет медленно и печально подниматься из свопа.
ps
у firefox-а эта фича не поддерживается
ps
все что ты говорил про переиспользования кода верно, но это влияние низкое - на уровне нескольких процентов, максимум десяток процентов.

oksana12

Виртуальная память - не есть синоним свопа. Не будет ничего подниматься в случае таких скромных программ, как файрфокс.

BondarAndrey

+100
Виртуальная память это суммарный обем выделенного процессу адресного пространства. Суда включаются: собственные данные и код программы (занимают страницы физической памяти код и данные разделяемых библиотек, используемых программой (реально в физической памяти находится ее один экземпляр, однако ее кодовые страницы, отображенные в память конкретного процесса, считаются вместе с другой памятью, занимаемой данным процессом сегменты разделяемой памяти (участков памяти, используемых совместно с дугими процессами; память общая — но считаеться она может несколько раз отображенные в память процесса файлы (реально эти данные находятся на внешних носителях) и участки памяти ввода-вывода устройств.
Свап — это просто временное хранилище тех страниц, которые не влезли в оперативную память.
Таким образом, очень трудно ответить на вопрос "сколько памяти занимает программа", в частности из-за того, как учитывать объем разделяемых библиотек, сегментов разделяемой памяти и памяти устройств (например, видеопамяти).

Dasar

Не будет ничего подниматься в случае таких скромных программ, как файрфокс
файрфокс совсем не скромная программа: и жрет много, и сборку мусора использует.
из-за сборки мусора кстати, firefox вынужден держать все данные в памяти, именно поэтому у него реальной памяти "чуть ли" не больше, чем виртуальной.
у программ без сборки мусора, или при использовании более сложных мусорщиков - часть данных может безболезненно скидываться в свап, что и видно на примере счетчиков, когда виртуальная много больше, чем реальная.
ps
если все-таки провести эксперимент про который я говорил, то будет хорошо видно, что у программ на:
.net-е, java-е, javascript-ах реальное и виртуальное редко расходится,
C++/дельфи - значения счетчиков сильно отличаются, особенно если программа находится в "спящем" виде, когда большая часть данных не используется, но если такую программу начать активно использовать, то счетчики реального и виртуального выравниваются.

Dasar

Виртуальная память это суммарный обем выделенного процессу адресного пространства. Суда включаются: собственные данные и код программы (занимают страницы физической памяти код и данные разделяемых библиотек, используемых
много знаний - много печали...
а теперь возьми да оцени, сколько в том же firefox-е какой памяти сколько процентов.
все что ты перечислил(код, маппинг и т.д.) - это будет от силы 5-20%, все остальное - это данные

BondarAndrey

Ну как сказать...
Смотрю на свою epiphany (RSS — 48.5 Мб, Virtual — 134.5). По-моему, 20% никак не получается.

Dasar

Смотрю на свою epiphany (RSS — 48.5 Мб, Virtual — 134.5). По-моему, 20% никак не получается.
а теперь запусти какой-нибудь windbg (или что там у вас под *nix-ом) и посмотри что там на самом деле.
ps
цифры будут: 80-90% heap, из которого половина в своп-е сидит.

BondarAndrey

цифры будут: 80-90% heap, из которого половина в своп-е сидит.
Хм, ты просто не в курсе как устроены многие способы управления памятью. "Сидит в свапе" — это
1. Могут быть страницы анонимной разделяемой памяти (anonymous shared memory) которая может использоваться для общения потоков процесса друг с другом. Она создается путем вызова mmap на файле свопа (в некоторых юниксах можно отображать устройство /dev/zero). Эту память и могут диагностические утилиты отображать как "swap".
2. Еще таким образом можно помечать сегменты "вытесняемой" памяти (в терминах Windows т.е. той, которая _может_быть_ вытеснена в своп (но совершенно не обязательно, что это произойдет).

Dasar

Хм, ты просто не в курсе как устроены многие способы управления памятью. "Сидит в свапе
Слова про heap ты успешно пропустил?
еще раз повторяю, что 80-90% показывается именно как heap (выделенная под данные а не как за-map-ленная память

BondarAndrey

Что "куча"? Куча — это не выделенная программой память, а скорее некий резерв, который она может использовать. Этот резерв может быть как страницами оперативной памяти, так и свопа, но его размер не означает, что вся эта память использована процессом и тем более, что какие-то страницы памяти процесса лежат в свопе.
Более того, я сейчас проверил все твои наблюдения. Итог такой: выкини стандартный таскманагер на помойку и поставь ProcesseExplorer от Руссиновича. Его цифры гораздо более похожи на правду.
Пример: Таскамагер рапортует, что открытый Far потребляет 704 кб "Memory" и 1236 кб "Virtual memory", а ProcessExporer, что 1236 кб составляет "Private Bytes" (что более точно соответствует RSS в линуксе а "Virtual Size" (т.е. самая настоящая виртуальная память) составляет 25828кб!
Короче, МС опять отличилась и счетчики TaskManager'а отображают совсем другие данные.
При такой коррекции, я, конечно, соглашусь, что для оценки объема занимаемой процессом памяти, в TaskManager'е нужно смотреть в колонку "Virtual Memory". Проблема только в том, что это вовсе не виртуальная память процесса, а совсем даже объем реальной физической памяти, им занимаемой.

Dasar

Короче, МС опять отличилась и счетчики TaskManager'а отображают совсем другие данные.
да, стоило договориться о терминах.
в винде три счетчика:
working set (то, что в task manager: mem usage)
private bytes(то, что в task manager: vm size)
virtual bytes(в task manager-е нет)
в треде шла речь про счетчик task manager-а vm size: он же private bytes.
private bytes - эта та память, которую процесс выделил именно себе, без учета расшаренной памяти.
часть этой памяти может быть в своп-е.
При такой коррекции, я, конечно, соглашусь, что для оценки объема занимаемой процессом памяти, в TaskManager'е нужно смотреть в колонку "Virtual Memory". Проблема только в том, что это вовсе не виртуальная память процесса, а совсем даже объем реальной физической памяти, им занимаемой.
нет, реальная память - это working set, он же task manager: mem usage (но здесь учитываются и общие страницы памяти, но по разу)

schipuchka1

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

Dasar

в целом по треду:
в винде в task manager-е смотреть надо именно VM Size, т.к. именно этот счетчик показывает реальную потребность программы в памяти.
Ps
про оценки отношения памяти к виртуальной адрессации был не прав (забыл, что task manager показывает не ту виртуальность)
оценка скорее (память к виртуальной адрессации): 20% - на малых программ, 60% - на больших.
Оставить комментарий
Имя или ник:
Комментарий: