память хрома и след процессора

память хрома и след процессора

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

Я выполняю большую часть своей работы в браузере (или для браузера, если можно так выразиться). Я обычно использую Chrome, потому что в нем изначально есть много новейших функций, которые мне нужны (в основном DevTools, но не только). Кстати, я обычно запускаю последнюю доступную версию/сборку Chrome на настольном Vaio с 4 ГБ ОЗУ и двухъядерным процессором, Ubuntu 12.04 в качестве дистрибутива и Gnome в качестве оконного менеджера.

Итак, мне стало интересно: а) почему Chrome порождает так много потоков, даже если открыты только три из четырех вкладок, и б) есть ли способ выделить Chrome больше памяти, чтобы предотвратить снижение его производительности?

Заранее спасибо,

Начо

PS [1] Я нашел темы о зависании Chrome или нехватке памяти, но не о причинах этого или о том, как этого избежать.

PPS Конечно, я всегда могу купить более новую и мощную машину, и именно это я и пытаюсь оценить: проблема в устаревшем оборудовании или проблема будет возникать на любой (приличной, но не огромной) машине?

решение1

Chrome разделяет каждую основную часть браузера на отдельные процессы. Например, сам браузер — это отдельный процесс, каждая вкладка — это отдельный процесс, и каждое расширение — это отдельный процесс. Вероятно, также есть отдельный процесс GPU. (Вы можете увидеть эти подробности, перейдя на about:memory).

Частью преимущества здесь является ограниченный доступ каждой части к другим частям. Например, если в расширении или вкладке был вредоносный скрипт, то (в идеале) он мог повлиять только на свой собственный процесс и не вывел из строя весь браузер. Если вкладка зависает по какой-либо причине, выключается только эта вкладка (и, возможно, вкладки, которые вы открываете с этой вкладки), но не весь браузер. (См. также about:sandbox.)

Вы не можете предварительно выделить память для Chrome; если Chrome нужно больше памяти, и она доступна, он ее возьмет. Обратите внимание, что ограничивающее условие может быть и на стороне ввода-вывода, так как Chrome должен считывать ваш профиль, настройки и по крайней мере часть вашей истории при запуске и общем использовании. Linux и Unix имеют функцию, которая позволяет вам хранить файлы в ОЗУ, что приведет к более быстрому доступу (чтение из памяти быстрее, чем чтение с жесткого диска, и также может уменьшить износ в случае большого количества записей), но с потенциальной потерей данных (содержимое ОЗУ теряется, когда ваш компьютер теряет питание или выключается).

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

Обратите внимание, что Chrome(ium) хранит кэш отдельно от вашего профиля, а скрипт заботится только о профиле (управление кэшем выходит за рамки скрипта). Возможно, вы захотите переместить кэш из текущего местоположения в каталог профиля и добавить символическую ссылку в старом местоположении на новое.

Связанный контент