Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2009-04-27 01:56:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Опять браузерное
     Закрыл google chrome. Commit charge в таскменджере уменьшился с 4.25 Гб до 1.15 Гб. Я-то думал, что одна win32 задача в принципе не может сожрать больше 3 Гб памяти... но хром умный, он несколько процессов запускает, вместе они ещё и не такое могут :-) Кстати, по встроенному в хром таскменеджеру никаких жутких гигабайт не наблюдалось.

     Закрыл оперу. Commit уменьшился с 1.15 Гб до 692 Мб. Тоже неплохо, хотя и не так впечатляюще.

     А я-то всё думал, чего у меня винда последние дни тормозит... :-)


(Добавить комментарий)


[info]brmail@lj
2009-04-26 19:33 (ссылка)
а сколько табов было открыто в хроме перед закрытием? он вроде на каждый таб свой процесс заводит

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-04-26 20:01 (ссылка)
Много, несколько десятков. Но всё равно - это больше похоже на leak чем на "слишком много табов": вот я перезапустил хром (и он переоткрыл все табы), а коммит в результате всего 1.56Гб - разница в ~три раза ((1.56-0.692)/(4.25-1.15)).

Ну, и не строго на каждый таб по процессу, он их группирует по несколько табов на процесс. Это можно увидеть и в его встроенном таскменеджере, и подсчитавши количество процессов "chrome" в системном таскменеджере и сопоставив с количеством табов.

Что, в общем-то, неудобно: когда у хрома "зависает таб", он предлагает прибить процесс. Вместе с несколькими невинными табами :-) Поскольку "корзины" у хрома так нормальной и нет, приходится перезапускать весь хром - при этом он восстанавливает все табы :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2009-05-05 13:24 (ссылка)
Прозреваю что такие утечки - особенность WebKit-движка, значит.

Ибо Safari отличается РОВНО таким же поведением (все 3.х, от бет до последнего стабла, 4-ка пока непонятно, ибо она настолько глубокая бета, что скорее даже альфа и её довести до утечек не получается, она у меня постоянно падает всеми процессами).

Значит идти на Chrome смысла мало (Safari, конечно, если и падает - то падает всем телом, а не отдельными процессами, но остальное меня устраивает - кроме утечек. Раз и в Chrome утечки, то...).
А учитывая описание процессоповедения по вкладкам - то и вообще смысла нет. Safari3 и Opera9 вполне справятся...

(Ответить) (Уровень выше)


[info]mikell@lj
2009-04-27 00:31 (ссылка)
А какая именно винда? Я то думал, что win32 не может использовать больше 3G памяти :).

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-04-27 02:00 (ссылка)
Обычная XPSP3 (32бит) с ключиком /3G. Физической памяти 2Гб, плюс дофига pagefile.

Как я понимаю, ограничение - не более 4Гб адресуемой в один момент времени памяти (~3Гб на текущее приложение, ~1Гб на систему). Поскольку приложения выполняются по очереди, и 3Гб - ограничение на одно приложение, то общее количество используемой памяти может быть и больше 4Гб. Вот съест ли XP более 4Гб физической памяти, если ей её подсунуть - не знаю, скорее всего не съест.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sadmitry@lj
2009-04-27 04:21 (ссылка)
32-х битная не съест. 64-х битная съест.

(Ответить) (Уровень выше)


[info]zg@lj
2009-04-27 07:08 (ссылка)
ну, если мне память не изменяет, xp sp1 pae поддерживала. но в sp2 отключили, и больше не по маркетинговым соображениеям, а из-за совместимости драйверов. а сервер 2003 ee x88 до 32 гигов поддерживает, чем не xp :)

(Ответить) (Уровень выше)


[info]tyomitch@lj
2009-04-27 19:40 (ссылка)
> Я-то думал, что одна win32 задача в принципе не может сожрать больше 3 Гб памяти...

Может через анонимные memory-mapped файлы выделить себе хоть 10Гб свопа.
Единовременно в адресное пространство отображается не больше тех 3Гб, но в commit charge учитываётся всё выделенное.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-04-28 05:35 (ссылка)
Назад, к EMS - "памяти у нас в принципе дохрена, но смотрим мы на неё через окошко" :-)

Забавно - даже если забыть про "640kb ought to be enough for everyone", ведь совсем недавно 32 бита казалось хватит навечно. Быстро их подъели и запросили добавки :-)

(Ответить) (Уровень выше)


[info]_frame_@lj
2009-04-28 10:02 (ссылка)
Ндаа) Я только фаерфокс до 2 гигов догонял. Перезапустил - стало всего-то мегабайт двести, так что, похоже, всё-таки память утекает порядочно.

(Ответить)


[info]tarnyagin@lj
2009-04-29 21:36 (ссылка)
Эээээ.. А мы про history не забываем?
Не знаю, как Google, но Firefox скидывает в history контекст вместе с JavaScript и прочей требухой. И восстанавливает по кнопке Back.
Так что есть большая разница между Firefox-ом "с открытыми окнами и историей" и Firefox-ом "с открытыми окнами перезапущенным".

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-04-30 01:46 (ссылка)
Не очень понятно, почему "сохраненный в history контекст" должен занимать разный объем до и после перезапуска. History для закладок в хроме после перезапуска восстанавливается, я сейчас проверил (посмотрел на закладку, которую заведомо не трогал после перезапуска - history на месте).
А файрфоксом не пользуюсь, поэтому судить не могу :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tarnyagin@lj
2009-04-30 05:58 (ссылка)
До перезапуска - в каждом "элементе" history лежит HTML документ - DOM дерево с его JS контекстом. По нажатию "Back" происходит "переключение" отображения на сохранённый документ. Легко заметить, что содержимое, скажем, полей ввода при этом сохраняется.
После перезапуска - в каждом "элементе" history лежит URL документа, который будет загружен, распарсен и отображён при нажатии кнопки "Back". Легко заметить, что содержимое, скажем, полей ввода при этом не сохраняется.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tarnyagin@lj
2009-04-30 06:11 (ссылка)
Вот простой скрипт проверки:
1.html:
< script >
var a = 1;
< /script >
< a href="1.html?" >new doc< /a >
< input type="button" onclick="alert(a++);" >

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2009-04-30 06:13 (ссылка)
Так это надо из хрома выйти-войти, а мне не хочется :-)
Вот доживу до очередного "перезапуска естественным путём" - проверю :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2009-04-30 08:24 (ссылка)
Случайно обнаружил, что ie8 теперь тоже все закладки по процессам раскладывает. Вижу я три ie8 в списке задач, начинаю сбивать, а он говорит - ой, что-то тут с закладкой поплохело и тут-же восстанавливает.

Это я так к слову. А так - наша цель перезагружать комп только при смене операционки.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2009-04-30 11:28 (ссылка)
Молодцы. А то я как-то уже и забывать начал, что у микрософта тоже когда-то был браузер. Ан нет - похоже ещё суетятся, надеются на что-то. Попробовать что-ли этот ie8...

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

Но концепция "упал-отжался" сейчас выглядит несколько практичнее - и даже не знаю, "к сожалению" это или "к счастью". В процессор может внезапно попасть граната, тогда его обычно таки приходится перезагружать, и лучше чтобы после перезагрузки всё вернулось максимально близко к тому, как оно было до того. Одна из проблем вечной молодости - невозможность для организма человека проведения операции вида "выключить, заменить компонент, включить обратно". А широко известный в узких кругах Дмитрий Завалишин тем временем выпиливает из цельного куска объектно-ориентированного мрамора über-операционку phantom, которая сможет отжимать после падения не только себя, но и состояние всех запущенных приложений...

(Ответить) (Уровень выше)


[info]dibr@lj
2009-04-30 06:12 (ссылка)
А, теперь дошло.
Надо будет при случае проверить, что содержимое полей ввода действительно пропадает. Сейчас понажимал в одной из закладок (с гуглепоиском) кнопки назад-вперёд - поле ввода подставлялось какое надо. Но это мог и сам гугль подставлять, в url эта информация есть...

(Ответить) (Уровень выше)


[info]dibr@lj
2009-05-17 09:42 (ссылка)
> После перезапуска - в каждом "элементе" history лежит URL документа, который будет загружен, распарсен и отображён при нажатии кнопки "Back". Легко заметить, что содержимое, скажем, полей ввода при этом не сохраняется.

Только что наконец-то перезапустил хром, и сходил в одном из окошек назад по history. "Легко заметил", что содержмое, скажем, полей ввода восстановилось (т.е. до перезапуска там была заполненная и засабмиченная "формочка", после перезапуска и возврата по history - формочка была заполнена. Сам сайт за автозаполнением формочек замечен не был, т.е. её заполнил сам хром).

Этого недостаточно чтобы утверждать о том, что хром "сохраняет DOM-дерево" для каждого элемента history при перезапуске, но достаточно чтобы предположить что "что-то такое он всё-таки делает" :-)

(Ответить) (Уровень выше)


[info]ama1gama@lj
2009-05-24 12:59 (ссылка)
по поводу гугл хрома
http://habrahabr.ru/blogs/browsers/60116/
хоть что-то

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-05-24 13:13 (ссылка)
Спасибо, поизучаю :-)

(Ответить) (Уровень выше)