Твердотельные накопители наконец-то стали доступными для большинства пользователей ноутбуков и ПК. У них много достоинств, основным из которых является высокая производительность, но есть и недостатки. К недостаткам стоит отнести меньшую по сравнению с HDD износостойкость (ресурс записи). Правда, у современных твердотельных накопителей срок службы обычно превышает сроки морального устаревания.
Полный потенциал твердотельник раскрывает в качестве системного диска. В этой конфигурации операционная система и установленные на системный диск приложения читают и пишут данные на твердотельный накопитель. Как оказалось, браузер Mozilla Firefox каждый день пишет относительно большой объём данных, чем убивает ресурс SSD.
Большинство пользователи ПК знают, что браузеры записывают много данных на жесткий диск или HDD. Но сколько именно? Об этом задумался Сергей Бобик [Sergei Bobik], установивший на свой компьютер бесплатную версию SSDLife. Этот софт позволяет оценить состояние SSD и показывает приблизительное время жизни накопителя.
В течение двух дней Сергей не работал ни с чем, кроме браузера и электронной почты. И был очень удивлен, когда узнал, что на твердотельный накопитель в один из этих двух дней было записано 12 ГБ данных. Поскольку никаких объемных файлов он не загружал, а рабочие сайты не могли дать кэш такого объема, было решено найти причину случившегося.
Сергей Бобик вел наблюдение за статистикой, предоставленной приложением, в течение двух недель. Как оказалось, даже когда компьютер не работал (но не был выключен), на твердотельный накопитель загружались большие объемы данных вплоть до 10 ГБ.
Главным виновником случившегося оказался браузер Firefox. Он загружал от 300 КБ до 2 МБ ежесекундно. Запись велась в файл с названием recovery.js. Как оказалось, это резервная копия сессии Firefox. Она используется в том случае, если «падает» браузер или операционная система. Это полезная, но ресурсоемкая функция. И если учесть то, что у SSD ограниченный ресурс, то здесь уже нужно решить для себя, что полезнее — рабочий диск или же восстановление текущей сессии браузера после его падения.
Сергей пишет, что проблема не только в одном файле. Для того, чтобы полнее изучить проблему, он выполнил несколько дополнительных действий:
1. Установил значение browser.sessionstore.interval в 15000 мс и закрыл все открытые вкладки браузера;
2. Открыл единственную вкладку с Google.com, подождал пару минут и закрыл ее;
3. Снова открыл браузер и проверил размер recovery.js. Его размер уменьшился до 5 КБ вместо 900 КБ;
4. Открыл несколько обзоров различных устройств в двух разных окнах. Поискал обзоры и открыл поисковую выдачу в новых вкладках;
5. Открыл третье окно браузера, открыл несколько сайтов во вкладках этого окна;
6. Запустил Process Monitor и начал отслеживать файлы recovery.js и cookie*.
7. Убрал ведение логов событий в «File->Capture Events». Также были очищены существующие логи;
8. Снова активировал ведение логов событий в «File->Capture Events». Оставил включенными три указанных выше окна браузера на 45 минут. На это время Сергей включил для собственных нужд Chrome;
9. Просмотрел статистику браузера в «Tools->File Summary».
Как оказалось, за это время Firefox записал 1,1 ГБ данных на диск. Основной объем — это файлы cookie*.
При этом файлик после всех проведенных манипуляций вырос всего лишь до объема в 1,3 МБ.
Сергей вернулся к Firefox и в одном из окон открыл почтовый ящик в outlook.com. Очистил все логи событий в Process Monitor и снова запустил мониторинг. На этот раз он оставил Firefox без дела всего на 10 минут. После этого размер recovery.js вырос до 1,5 МБ. Файлы куки снова заняли многие сотни мегабайт на SSD.
По словам автора работы, браузер может писать кучу данных в файл recovery.js, файлы cookie или же одновременно записывать информацию и туда, и туда. Если взять за константу 1,1 ГБ записанных Firefox данных, то за рабочий день можно ожидать записи информации объемом 35 ГБ, если не выключать систему. После измерений оказалось, что запись в файл recovery.js ведется постоянно со скоростью 2 МБ/с.
Что можно сделать?
Если у вас обычный жесткий диск, то можно особо не переживать. Но если в качестве системного установлен SSD, стоит выполнить ряд действий, которые могут остановить поток данных, генерируемых браузером Firefox.
Главное действие — настройка одного из параметров Firefox, browser.sessionstore.interval. Этот параметр доступен при выполнении команды
"about:config"
в адресной строке. По умолчанию он равен 15 секундам. Временной интервал можно увеличить вплоть до 30 минут. В этом случае количество генерируемых Firefox за день данных снижается с 10-15 ГБ до 2 ГБ. Это все равно много, но в несколько раз меньше, чем до выполнения настройки обозревателя. Ресурс некоторых потребительских SSD — всего лишь 20 ГБ записанных данных в день. Firefox может использовать половину этого ресурса. Если в вашем обозревателе постоянно открыто множество окон, а вы работаете с «тяжелыми» сайтами, то можно ожидать еще большего количества записанных Firefox данных, чем указано выше.
Увеличить значение параметра browser.sessionstore.interval стоит даже в том случае, если в качестве системного диска у вас стоит обычный HDD. Дело в том, что постоянная запись на диск снижает его производительность, и ПК может стать немного более быстрым, если убрать постоянную запись данных браузером.
Разработчики Firefox говорят, что знают о проблеме, но пока что решить ее не представляется возможным, поскольку придется полностью менять принцип работы функции Session Restore.
Комментарии (137)
EvilGenius18
24.09.2016 00:03+6Многие тесты показывают, что SSD умирают после записи 800 ТБ — 1 ПБ данных
Если я правильно посчитал, даже если записывать по 50 гб в день, диска хватит на 43 — 54 года
В чем проблема «ресурса диска» то?sleeply4cat
24.09.2016 00:22+13Проблемы нет уже много лет, но люди продолжают писать статьи и набирать просмотры, используя старые стереотипы. Это примерно как бесконечные советы про борьбу с эффектом памяти у литиевых аккумуляторов.
edogs
24.09.2016 00:29+3Проблема, как обычно, в маркетологах.
Идея тюнинга компьютера это огромный рынок, но свежака там относительно немного. Ну нельзя же в конце концов 20 лет продавать чистильщики реестра и ускорители браузера?
ССД с их ресурсом в этом смысле стал золотой коровой, которую доят буквально все кому не лень, начиная от производителей ссд (у которых появился дополнительный маркетинговый пункт вида «а вот наш ссд»), продолжая создателями программ для контроля ссд (ну как же, а вдруг ресурс кончится, а ты и не заметишь), включая улучшителей производительности и долговечности (как создателей программ так и создателей статей на эту тему) и разумеется не забывая про «компьютерных мастеров» (ой у вас ссд почти при смерти, давайте поменяю недорого).
В общем это классическая ситуация вида «не придумать в какую сферу войти — создай ее и пасись на ней».
При этом у здравомыслящей части аудитории нет стимула опровергать эти басни с той же мощностью, с которой их продвигают, хотя бы просто в меру отсутствия денежного стимула.
Так что смиритесь, это надолго:)xface
26.09.2016 18:08Согласен с вами. Вот живой пример(никаких оптимизаторов, файл подкачки на SSD, кеш браузера там же):
Рабочая машина
Сервер:
Домашний ПК:
Temtaime
27.09.2016 11:26Чудо тулза определяет здоровье по специальному параметру смарта, который некоторые диски не имеют. Иначе она может говорить что всё хорошо, даже если всё плохо.
У вашего плекстора TWB — 72TB, при этом 21 вы уже написали всего за пол года. Кто знает, не превратится ли через года два он в тыкву?
Alexmaru
24.09.2016 01:18люди покупают б/у SSD, с кем-то и выстрелит. Если программа может не насиловать диск (а она может), то почему бы ей этого не делать?
solver
24.09.2016 14:26Отличный поинт.
Ресурсов же много, давайте засрем всё. Гигабайты, гигагерцы, гигаджоули… кого вообще должно волновать, что будет через 50 лет?
dadyjo
26.09.2016 18:14Есть дешевые накопители в которых ресурс намного ниже.
У меня два ssd intel 530 и intel 335 оба на 240Гб вроде оба эконом сегмента но ресурс у них значительно отличается!
Intel 335 купил позже и сделал из них RAID0.
Вот показатели SMART:
intel 335 — записано данных 41Тб, часов работы 26953ч, осталось ресурса 96% Расчетный ресурс записи 1000Тб
intel 530 — записано данных 12Тб, часов работы 2331ч, осталось ресурса 75%. Расчетный ресурс записи 50Тб
andrijn
26.09.2016 18:17Возьмите в расчет современные терминальные сервера, где можно разместить более 240 пользователей. Не редко такие сервера работают с СХД где установленны от 4 шт. SSD c
sen4ik
24.09.2016 00:05+1Существует ли похожая проблема в других браузерах?
TrueBers
24.09.2016 23:29+1Сейчас не знаю, но раньше у хрома была запись какого-то мусора о сессии в sqlite базу каждые 800мс. Решал, как писали выше, через profile-sync-daemon. Сейчас уже забил на это дело, но не думаю, что что-то поменялось.
nazarpc
24.09.2016 00:42+1Покажите мне пальцем хоть на одного пользователя, у которого износился в десктопе/ноутбуке SSD. В смысле износились ячейки, а не внезапно умер контроллер (как это обычно бывает).
Disasm
24.09.2016 01:35+1Мой SSD в EeePC 900. Битых секторов пока нет, но скорость записи уже очень низкая. Доходит до 3 IOPS.
nazarpc
24.09.2016 01:37Full trim давно делали?
Disasm
24.09.2016 01:42+1Там вообще нет поддержки Trim. Субъективно помогает забивание нулями вместо этого, но ненадолго.
nazarpc
24.09.2016 01:44Он наверное из тех самых-самых первых SSD. Им данная статья (тем более на такой машинке) тоже ничем не поможет.
Erelecano
26.09.2016 18:08Asus EeePC 900 пошли в серию в мае 2008 года. То есть модели на данный момент восемь с половиной лет. Там стояли самые ранние SSD.
nazarpc
26.09.2016 19:33+1Ну извините, 8 год не каждый HDD выдержит, а тут ещё и пионеры среди SSD моделей, тем более, явно не самые качественные (учитывая бюджетность аппарата в целом). Все эти трюки для современных SSD (возрастом год 5, не больше) при регулярном выполнении trim не нужны (постоянно включенный trim сильно просаживает производительность).
isden
24.09.2016 10:06> EeePC 900
Там (в eeepc) это нормально. У меня были 701/901, скорость записи всегда была очень так себе.Disasm
24.09.2016 11:06Одно дело когда так себе, другое — когда при отправке сообщения в jabber вся система подвисает на пару секунд.
isden
24.09.2016 11:14В 901 с чем-то подобным сталкивался периодически, почти с самого начала эксплуатации (например, копируешь пару-тройку метров на диск, и в этот момент система замирает на пару секунд). Есть подозрения, что это таки связано с дешевым и не очень качественным SSD (который, к тому же, фактически по USB был подключен внутри, хоть и висел на mini pci-e, насколько помню). Возможно, что таки да, потихоньку отмирать он начал уже тогда.
dimka-zzz
24.09.2016 21:59Ооо, им ещё кто-то пользуется :) У самого EeePC 900 с SSD на 12 гб, 4 гб из которых — быстрые (правда, эму это не помогает), и 8 гб — медленные (скорее всего — на уровне флешки, которая мегабайт 5-6 в секунду пишет). Стоит XP и любое включение Wi-FI на нем — это что-то жуткое, нетбук зависает минут на 5 и дальше еле-еле ворочается после отвисания, что пользоваться им становится невозможно. В итоге — я его запускаю в последнее время раза 2-3 в год, когда хочу посмотреть фильм на ночь, а планшет уже сел :\
retnuoc
26.09.2016 18:13Какая ОС у вас установлена? Возможно у вас проблемы с так называемым partition alignment, попробуйте проверить утилитами (легко гуглятся), если у вас Windows XP например — она не умеет корректно выравнивать данные для твердотельных накопителей в итоге сильное проседание производительности.
Temtaime
24.09.2016 02:05+1Контроллер иногда умирает как раз от износа.
AllegroMod
24.09.2016 11:44+4«Микросхема контроллера диска умирает от износа ячеек памяти». Я правильно прочёл? :-)
roboter
24.09.2016 12:10Контроллер вполне может решить что диск изношен и отказаться работать. Маркетинг.
vorphalack
24.09.2016 11:34+1Kingston SSDNow V100, 128Гб [SV100S2/128G], JMicron 616 — 128 гигов флеша БЕЗ какого-либо кеша, смарт достаточно приличный, но чипы в капусту и сам накопитель в read-only.
maaGames
24.09.2016 12:25+1У меня есть Verxex2 на 40 гигабайт. Линейная скорость чтения-записи стала буквально 20 мегабайт/сек. Случайный доступ всё ещё в десятки раз быстрее, чем на HDD, поэтому стоит этот SSD на одном из компов.
KorDen32
24.09.2016 17:26Суммарно у меня и знакомых четыре недорогих кингстона 2013-2014, чтение/запись где ниже сотни, где 100-150. Спец. очистки не делали, кроме полного форматирования, нужно попробовать…
nazarpc
24.09.2016 17:32У меня раз в неделю (иногда реже) full trim под Linux запускается по расписанию. Был SiliconPower Velox V20 с осени 2011 до начала 2015 проработал без заметной просадки скорости, а однажды просто не вышел из спящего режима и перестал определяться системой. Диск SATA2, ещё и с проблемным (судя по отзывам) поколением контроллера.
Так что запустите full trim (должна быть фирменная утилита под Windows) и скорость должна по большей части вернуться.
ice938
26.09.2016 18:09+1У нас сотни три компов с SSD, так вот из них 3 компа были с SSD ADATA… Примерно через год эксплуатации на них стали блоки выпадать. При этом диск нормально форматируется, тестируется, но комп работать с ним полноценно не может- при перезагрузке компа некоторые файлы повреждаются или вовсе пропадают
dartraiden
24.09.2016 03:34Как оказалось, даже когда компьютер не работал (но не был выключен)
Вот эту фразу не распарсил.
Если компьютер был включён, но ни одной программы запущено не было, как Firefox мог что-то писать?
Если же Firefox был запущен, то как можно говорить, что «компьютер не работал»? Там в фоновом режиме браузер может своими делами заниматься, это же не секрет. Например, в моменты простоя самое время скачать обновление антифишинговых и антималварных баз. А их приходится как раз сначала локально загружать, а потом уже при сёрфинге сопоставлять посещаемые пользователем сайты с фишинговой базой, чтобы не «сливать» в Сеть информацию о посещённых пользователем сайтах.
dartraiden
24.09.2016 03:40И про 600 мегабайт кук я сильно сомневаюсь. Размер файла с куками на прилично так поюзанном браузере (где сотни кук с разных сайтов сохранено) обычно в районе пары мегабайт. Что туда нужно писать объёмом 600 мегабайт? Перезаписывать эти куки по многу раз в секунду? Стояли ли при этом какие-то дополнения?
Saffron
24.09.2016 05:54-4Вот как. Сначала покупают модное железо, которое по уверениям маркетологов, всем лучше устаревших жёстких дисков, а потом оказывается, что надо каждое используемое приложение тонко настраивать, чтобы жить с этими клёвыми твердотельными накопителями. Нет, конечно, SSD — отличные устройства, у них есть своя ниша применения, но не надо их позиционировать как замену HDD. С этой ролью во всём объёме они пока не справляются. Как мобильный интернет, какой бы он быстрый не был, не способен заменить стационарный.
Narical
24.09.2016 06:16+1Способен. Заменяет. Перестаньте пожалуйста повторять набившие оскомину байки. Со скоростью износа, указанной автором,
>диска хватит на 43 — 54 года
Уже было достаточное количество показательных экспериментов, когда диски затирали «до дыр» — они способны работать месяцами в совершенно нештатном режиме непрерывной записи, превышая гарантийный объем записанных данных в десятки раз. В частности, эксперимент с бюджетными дисками OCZ Arc.
Тут на самом деле просто психологический момент — что какая-то программа без особых на то причин потребляет дисковый ресурс, пускай он и огромен.Am0ralist
24.09.2016 14:43-1а если таких программ у пользователя будет 2? 4? 6? 10?
торрент, скайп, браузер, стим? что еще у вас постоянно запущено и работает в фоне бесконтрольно?Narical
24.09.2016 17:58+1Я приведу аналогию.
Представьте себе, что обычный HDD — это автомобиль. Он может ехать на ручнике, но очень плохо и самое главное — если он на ручнике, это заметно. Поэтому ни один пользователь в здравом уме не будет ехать на ручнике.
По сравнению с ним, SSD это тоже автомобиль, но с гораздо более мощным движком. Таким мощным, что ему пофиг, затянут ручник или нет — водитель даже не заметит.
Тут правильная аналогия кончается)) Потому что по каким-то волшебным причинам ресурс ручника на HDD-автомобиле у нас миллиард километров (ну, если затянуть и ехать), а вот на SSD «всего» миллион.
Ну так вот))
1. По возможности не надо ездить на ручнике, даже если машина позволяет
2. Не надо говорить, что современные технологии говно, только по той причине что приходится следить за ресурсом тормозных колодок на машине, которая настолько мощная, что «не замечает» затянутый ручник
3. Говоря об относительном ресурсе тормозных колодок (у SSD — в 10 раз хуже), желательно всё-таки подумать об абсолютных цифрах. Миллион км на ручнике это в 10 раз меньше чем миллиард, но всё равно больше, чем ресурс автомобиля в целом. Говоря простым языком, просто «чуть более чем достаточно».Saffron
24.09.2016 18:25+1SSD не добавляет никакой возможности ездить на ручнике. Просто обычный винт имеет «повремённую» оплату, ему всё равно сколько дурной работы делать — он с ней справляется одинаково, пока хватает пропускной способности. А SSD платит за каждый мегабайт. Зато быстрее. В интернете тоже так было — медленный повремённый (или с абонентской платой) и быстрый, зато платишь за каждый мегабайт.
Опять же ваше сравнение с автомобилем и колодками не корректно. Внутри компьютера может исполняться не одна программа, а десяток, сотня, и тогда износ ресурса станет заметен.Narical
24.09.2016 19:06Аналогии на то и аналогии, у них задача не 100% корректными быть, а мысль донести.
«Не одна программа» в моей аналогии это десяток-сотня ручников, которые даже мощный движок не вытянет. Вы не станете запускать «десяток, сотня» программ на HDD (имеется в виду таких, что каждая даёт нагрузку в несколько Мб/с) — один ФФ с его 2 Мб/с уже систему с обычным HDD замедляет до неприятного состояния.
То, что SSD с его 150.000 IOPS (против 100 у 7.200 RPM HDD) способен на такие подвиги, не означает что так надо с ним поступать. Или поступайте, но тогда не надо жаловаться на расход ресурса, которого тогда хватит на «жалких» пару лет.
Am0ralist
25.09.2016 00:27Вообще-то это был не наезд на SSD (у самого в двух буках стоят), а наезд на программистов, которые болт кладут на оптимизации под железо.
И чей подход «а хрен ли, докупят оперативы, поставят более мощный проц, новый видик и будут менять SSD каждые насколько лет» немного достает.Saffron
25.09.2016 02:24А программисты не должны оптимизироваться под железо. У них есть абстракция, и они с ней работают. Например, файл. А где этот файл лежит — на ssd, на hdd или вообще на nfs заботить должно только операционную систему. А то будет как с хромиумом, который для работы требует низкоуровневый udev. А что делать тем, кто использует для инициализации устройств другую программу? Правильно, сносить хромиум.
Am0ralist
25.09.2016 19:55+1После подобных высказываний часто возникает желание пинать таких говнокодеров ногами.
Хотя чего еще ждать от таких «профессионалов», которые даже не задумываются, на чем эта программа будет работать в дальнейшем.Alexeyslav
25.09.2016 22:28Они и не задумываются. Это не их работа определять на какой платформе и через какой интерфейс работать.
Меня дико бесит когда я не могу файлы использовать с сетевого диска — программа их тупо игнорирует!
Нет, этим должны заниматься не программисты а их менеджеры, которые планируют и ставят им задачи.
Narical
24.09.2016 06:05+2Поведение, описанное в статье, нормальным не назовешь.
Поток данных в 2 Мб/с ради того, чтобы «восстановить сессию» критики не выдерживает — если сайт загружен, то что ещё там качать? Решил проверить сам, поскольку пользуюсь в основном FF, а SSD у меня «не из новых» — сменивший несколько ноутбуков, прошедший огонь и воду OCZ Vertex 4 возрастом около 5 лет. Доверяй, но проверяй — вы можете повторить это сами на своем компе.
ОС — Archlinux x64, свежий ФФ из stable-ветки (прямо сейчас качается свежайшее обновление, даже ещё на Яндекс-зеркале не появилось)
Запускаю от рута iotop, консоль не левую половину экрана, ФФ на правую, поехали.
Открываю-закрываю сайты, сворачиваю ФФ, слежу. Открытие сайта вызывает конечно запись на диск, объем записанных данных составляет к примеру 3 Мб для хабра. Свернутый ФФ тоже пишет, но гораздо меньше — каждые несколько секунд под 100 Кб. После замера получил цифру 1,8 Мб в минуту, что равнозначно 1,8 Гб в сутки, т.е. если комп будет стоять включенным 24 часа.
Есть подозрение, что у автора статьи открыто большое количество вкладок с какими-то специфичными сайтами. У меня во время эксперимента было открыто и полностью прогружено 11 вкладок, включая тяжеловесную с видеороликами.
nerudo
24.09.2016 09:36+4Проблема в том, что recovery.js состоит на 99% из совершенно ненужного дерьма. Хотя по хорошему было бы достаточно списка (структуры) табов + соответствующие url.
kma21
24.09.2016 10:41а что в этом пресловутом файле содержится? для чего нужны такие колоссальные объёмы данных, да ещё и постоянно обновляемые?
что за невероятные данные нужны для восстановления сессии? URL? кэши современные браузеры уже не держат и всё равно перезагружают вкладку при её открытии или возврате назад.nerudo
24.09.2016 10:49Фиг знает, я не эксперт. Но если просто заглянуть вовнутрь, то там проглядывают даже жипеги закодированные в base64.
edd_k
24.09.2016 14:37Дело не в объеме полезных данных, а в частоте их перезаписи
И справедливости ради, сейчас он не так часто спамит, как год назад, когда я анализировал эту проблему.
Да и лично я не люблю ворочать десятками открытых вкладок, так что и год назад у меня было порядка 5 гиг за день от FF, а не 25+.kma21
24.09.2016 18:06+2Но всё равно. Зачем хранить что-то окромя URL? ну даже положение на странице и ещё какая-то служебная информация это не так много. и зачем это всё перезаписывать по 2 МБ/с?
edd_k
24.09.2016 18:51В recovery.js и так хранится массив служебных данных. Но там не только сама вкладка, а вся цепочка переходов. Чтобы после восстановления вы могли пользоваться функцией «Назад/Вперед». Т.е. одна вкладка — это может быть и 1 порция данных, и 100 порций данных.
Но текст статьи еще и в заблуждение вводит. Факт лишь в том, что ФФ активно перезаписывает файлы в профиле, генерируя внушительный трафик за день. ФайлЫ, а не только один обсуждаемый recovery.js. На скринах всего-лишь банальный монитор ресурсов, который показывает мгновенную скорость. 2 мб/с ничего не означают особо. И если, как у меня сейчас, 2-4 вкладки висят, то и файлик этот весит 30 кб. А тем не менее гигабайты записи ФФ сгенерит в профиль.
Человек толком не мониторил и не анализировал куда именно его 30 гиг разошлись. Может и в жирный recovery.js (например, если впихнуть в title странички целый рассказ, то он в recovery тоже попадет и, возможно, в 100 экземплярах!), а может в множество других файлов.
Ну а зачем часто сбрасывать на диск? Наверное, в прошлом в гонке за первенство по стабильности и надежности работы браузеров, это казалось верным решением.
edd_k
24.09.2016 19:02Не досмотрел. Есть же скриншот в статье с объемами по файлам:
https://habrastorage.org/getpro/geektimes/post_images/084/4e1/eba/0844e1ebacde3ed0faddc49f8fcb2b19.jpg
Именно в sqlite основной объем и падает. В recovery.js понты данных упало.
Т.е. часто перезаписываются именно файлы БД. И по всей видимости, не чем-то новым, а одно и то же, смещенное после добавлений/удалений.
Alexeyslav
25.09.2016 13:40А вы посмотрите… файл текстовый, XML-формат…
Всё очень просто и незатейливо — похоже вкладка как объект просто сериализуется и выгружается в файл. Затраты на программирование минимальны, гарантия что вкладка восстановится такой как была — вместе с историей переходов, позицией просмотра на странице, иконку сайта и т.д. Завтра в сериализацию включат полный битмап загруженного сайта и он попадёт в этот файл… автоматически.
Saffron
24.09.2016 10:45+1А мне нравится, когда текст, набранный в формы, восстанавливается после внезапного перезапуска браузера.
Arekusei
26.09.2016 18:09О каком «дерьме» идёт речь? Всё что я там увидел это список табов, история переходов(для кнопок назад/вперёд) и некоторая информация о состоянии этих табов.
nerudo
26.09.2016 20:32Дьявол обычно в деталях, в данном случае, видимо, в слове «некоторая».
У меня сейчас получается в среднем по 35 кб на один открытый таб.
mrigi
24.09.2016 09:55+1Старые диски изнашивались быстро. У меня на 100% износился Corsair 90GB за 3 года. Но вот свежий 850 PRO за полтора года из гарантированных 150TB записи пока износил лишь 6.26. То есть ~4.1%. Такими темпами лет на 30 его ещё хватит без каких-либо настроек.
vsespb
24.09.2016 10:52Если у вас обычный жесткий диск, то можно особо не переживать.
Неправда. Ещё несколько лет назад я заметил что файрфокс просто тупо фризится. На обычном жёстком диске. Потому что постоянно что-то туда пишет и читает по мелочи и весь UI блокируется. Диск кстати был и WD Blue и WD RE 4. Так что написал скрипт по хранению профиля в RAM и синхронизации на винт. В принципе уже установил SSD и хотел сдвинуть туда папку с профилями, чтобы избавится от этого костыля, но видимо не судьба…
rPman
24.09.2016 11:39+1Всего навсего изменить функцию хранения этого файла с plain text формата на любую базу данных, пусть ту же sqlite, благо эта база уже используется в профиле. Нефиг перезаписывать весь файл при любом изменении.
edd_k
24.09.2016 14:44Статья не совсем полно описывает схему работы ФФ с диском. Файл recovery.js отнюдь не единственный виновник торжества. Помимо него обновляются и sqlite файлы. Например, places.sqlite. А автор «исследования», по сути, не настраивал толком мониторинг, чтобы выяснить, в какие именно файлы сколько именно из его 25 гиг попало. Он просто вооружился суммой за день и визуальным определением первого попавшегося часто обновляемого файла.
Именно в его сценарии js, скорее всего, основную массу делает. Но помог бы тут перенос в БД? Не думаю. Задача у них была именно частое сбрасывание на диск.
edd_k
24.09.2016 19:08+1P.S.: Именно sqlite трафик и создает, а вовсе не recovery.js:
https://habrastorage.org/getpro/geektimes/post_images/084/4e1/eba/0844e1ebacde3ed0faddc49f8fcb2b19.jpg
Очень крупные скриншоты…
igor_kuznetsov
24.09.2016 14:21+1, FF на обычном харде пишет постоянно. У девушки комп с HDD обычным, там пользоваться FF невозможно
HOMPAIN
24.09.2016 14:24SSD нужен для ускорения работы, так пускай он ускоряет и работает по максимому. Я наоборот на SSD файлы подкачки перенёс и ReadyBoost на него настроил. Испортится, выкину и куплю новый.
Ezhyg
24.09.2016 14:40А вот у меня вопрос, в том же ProcessXP у меня всю жисть отображался столбец Disk Write, а у парня на фотке I/O Disk Write. Скажите, кто знает, а в чём разница?
norlin
24.09.2016 16:23+3Установил значение browser.sessionstore.interval в 15000 мс
Проверил – у меня по-дефолту уже стоит 15000. FF 48.0.1.
sumanai
24.09.2016 16:59+3У всех стоит. Небось автор затвикал свой FF, а потом жалуется на повышенную активность.
flydjigit
26.09.2016 18:17В конце статьи все же указано, что 15 секунд (15000 мс) стоят по умолчанию.
3draven
24.09.2016 18:01+2Я в убунте своей поставил profile-sync-daemon который на overlayfs в рамдиске все пишет и иногда синкает с ssd. Простейшее решение проблемы. Две команды и все.
https://github.com/graysky2/profile-sync-daemon
dmitryredkin
24.09.2016 19:17-1Вся статья — попытка решить проблему, которой нет.
Не стоит переживать по поводу преждевременной смерти SSD. Современные алгоритмы Wear leveling-а аккуратно «размазывают» эту нагрузку по всему диску.
А запаса даже в 10000 перезаписей на ячейку вполне хватит лет на 5-10 непрерывной записи.
Все известные мне поломки SSD происходили из-за сбоев контроллера. Сами чипы ни разу не подводили.
З.Ы. Это все конечно справедливо, если у вас хотя бы треть пространства на SSD свободна.Temtaime
24.09.2016 22:44+2Из-за таких как вы современный софт жрёт всё что можно.
Подумаешь, уменьшать нагрузку на диск. Ресурса же на 20 лет хватит.
Подумаешь, уменьшать нагрузку на процессор. Там же 8 ядер.
Подумаешь, уменьшать нагрузку на видеокарту. Есть же NV 1080.dmitryredkin
26.09.2016 11:19Охренеть вывод. Это где же я призываю не уменьшать нагрузку? У меня черным по белому написано: НЕ ИСТЕРИТЕ по повду SSD. Не отключайте файл подкачки, не переносите temp на HDD. Это просто контрпродуктивно.
sumanai
25.09.2016 21:24+1> А запаса даже в 10000 перезаписей
Вы оптимист. На моём не самом новом 3000, а на новых 1000.
Впрочем да, SSD мрут не от перезаписи.
nett00n
24.09.2016 21:58+3… запись в файл recovery.js ведется постоянно со скоростью 2 МБ/с.
Что можно сделать?
Если у вас обычный жесткий диск, то можно особо не переживать...
Да действительно, обычный HDD же совсем не страдает от нехватки IOPS на современных задачах и не является «бутылочным горлышком» почти во всех случаях работы. Подумаешь, ежесекундное позиционирование головки в определённой области диска и 2МБ/с запись совсем не повредит. То ли дело на SSD, там же ресурс ограничен! Всего-то жалких 200 ТБ для, например, моего 256ГБ Samsung 840 Pro, вышедшего в 2013 году и за три года хардкорного использования, потратившего ОБОЖЕОБОЖЕ 7% ресурса!
molnij
24.09.2016 23:35+1Проблема загаживания браузерами дисков мягко говоря не новая. Настолько не новая, что я за время знания о ней поменял несколько SSD. Шло время, уже заметное число пользователей успело перейти на SSD, а не только энтузиасты. Вышла пара десятков «новых» версий каждого из браузеров. Но по прежнему «разработчики знают о проблеме». Круто. Впрочем, судя по комментариям, действительно достаточно было просто подождать, и на современных SSD запись с интенсивностью 2Мб/с уже не является критичной. Да, тупой, бессмысленной, неоправданной и попросту дикой. Но уже вполне допустимой. Круто.
Dudka
26.09.2016 00:14+1Стоит расширение Session Manager, настроено ежеминутное сохранение профиля. Проблемы с записью 2 Мб/с нет.
SHadDim
26.09.2016 12:29Что-то автор переврал…
I/O Write Bytes — The number of bytes written in input/output operations generated by a process, including file, network, and device I/Os. I/O Write Bytes directed to CONSOLE (console input object) handles are not counted.
А это означает что 32Gb не всё на жёсткий диск ушло.
Столбец «Write (byte/s)» списка «Disc activity» приложения «Resource Monitor» это мгновенная скорость, о полном объёме по ней судить нельзя.
Так что, скорее всего, масштаб проблемы преувеличен и по меньшей мере нераскрыт.
Циклы перезаписи SSD уже холивар наравне с ГМО и «вредной» химией)))
cumdeosicvolo
26.09.2016 18:09Тоже замечал, что FF любит кушать диск, но не знал кто именно виновник.
VecH
26.09.2016 18:18Есть программа SSDReady которая давно не обновлялась, закончился сертификат и поэтому у нее с автозапуском проблемы
Программа очень хорошая, аналогов не нашел
Но в ней четко видно сколько и куда, в какие файлы записалось, при помощи этой программы перенес симлинками несколько программ в которых нет острой необходимости в производительности на HDD
в том числе и профиль Firefox который слишком много пишет (35гб/сутки) на диск (открыт круглосуточно)
что бы не тормозил из за кэша, дисковый отключил, кэш памяти увеличил до 300мб
browser.cache.disk.enable = false
browser.cache.memory.capacity = 307200
торможений не наблюдаю, т.к. открыт постоянно, длительные старты не напрягают
maniacscientist
26.09.2016 18:19И нигде не написано, сколько оперативки у чувака. Операционка может работать в одном из двух режимов — либо диск кешируется в памяти, либо память складируется на диск. Ставящие SSD поперед избыточной оперативки, то есть, не брезгующие вторым вариантом — CCЗБ
HSerg
26.09.2016 18:19Спасибо, что хотя бы так сделали. До этого приходилось использовать самописные скрипты копирования/бэкапа (напр. с помощью windows shadow copy). А то память закончилась — в sessionstore.js пишется мусор + падение через пару дней…
В трекере FF было обсуждение более надёжных схем хранения с меньшими накладными (напр. SQLite), но желающих переделывать уже работающий вариант не нашлось.
NET_KOT
Я давно это заметил, но решение увидел другое — кэш браузера сделал на RAM-диске. Хотя статья очень полезная, спасибо.
SLY_G
А при выключении ваша информация сбрасывается куда-то или безвозвратно теряется?
yktoo
Я сделал с Chrome точно так же. При выключении кэш стирается, но на скорость работы браузера это особенно не влияет.
dartraiden
Есть программные реализации RAM-дисков, которые сохраняют образ диска в файл и восстанавливают после перезапуска.
MTonly
Нет ничего страшного в безвозвратной потере кэша. Но, насколько я понимаю, в статье речь о данных, записываемых в папку профиля, а её-то хранить на RAM-диске затруднительно.
CGS
Храню весь профиль на RAM-диске, проблем нет.
MTonly
При выключении или перезагрузке компьютера у вас сохраняется на SSD весь RAM-диск или только реально изменившиеся файлы?
CGS
rsync по моему, не совсем в курсе как он делает, но по идее должен сохранять те файлы что изменились
koshi-dono
Я тоже перенёс профиль на RAM-диск, у меня он сохраняется полностью, в образ. Только не на SSD, а на соседний HDD.
edd_k
Если UPS есть. А если нету, то обидно потерять историю за целый день.
Да и собственно, такими объемами SSD не убить за обозримый промежуток времени. Жало, конечно. Ведь это бессмысленные многократные перезаписывания из пустого в порожнее. Но это не те объемы, из-за которых стоит беспокоиться и пихать конфиги в рам-диск.
Тут бы разрабов FF куда-нибудь макнуть на пару минут, чтобы немного освежили мозги и поняли, что за 10 лет пора бы заняться не маловажной задачей оптимизации работы с диском. Кеш у них тоже левой задней спроектирован :(
Но я им уже несколько раз писал о недостатках и по английски, и по русски, и не только я, полагаю…
NET_KOT
Сбрасывается в образ RAMDiskImage.img, а при включении информация из образа снова загружается в RAM-диск. Программа QSoft RAMDrive Enterprise.
Alexeyslav
А при неожиданном отключении питания, и если до этого система пол года не перегружалась а бесперебойник подвёл по причине сдохшего аккумулятора?
NET_KOT
На домашнем компе у меня нет необходимости не перезагружаться полгода.
Alexeyslav
Помоему тут что-то не то… многие наоборот многое отдали бы за ОТСУТСТВИЕ необходимости перезагружаться. В современной системе так и есть, перезагрузка НЕОБХОДИМА только при установке некоторых системных драйверов…
Am0ralist
ноут с ssd., старт с утра секунд 10-20. старт из гибернации чуть быстрее.
в чем такая уж разница, особенно если я в гибернацию отправляю по нажатию кнопки питания?
или у вас компьютер сутки напролет молотит данные?
Alexeyslav
Гибернация это не перезагрузка и не считается за перезагрузку.
Am0ralist
«старт с утра секунд 10-20» сравнивается с «старт из гибернации чуть быстрее.»
Или выключение вечером и запуск с утра — тоже не считается перезагрузкой?
То есть если в статье обсуждается SSD, то и скорость запуска такой системы утром по мне кажется настолько не критичной, что бы вообще обращать внимание на разницу между выходом из гибернации и обычным включением.
А следовательно полгода не перезагружать — это либо 24/7 что-то молотить, либо планшет еще может быть (как только что сообразил я). В остальных случаях то зачем?
0xd34df00d
Чтобы не париться со спящим режимом.
И у меня памяти 64 гигабайта, не хочу выделять на SSD, который у меня системный на 240 гигабайт, почти четверть диска тупо на хибернейт.
Am0ralist
В современных виндах спящий режим и гибернейт — все же разные вещи.
И в этом случае — если не закрывать приложения, то перезагрузка по питанию приведет к потери данных. Если закрывать — какая разница будет ли комп включен на ночь или выключен?
(Тем более, что в рамках треда — синхронизировать образ рамдиска с жестким вроде как можно с определенной периодичностью)
PS. Как раз собирался добить оперативки до 16 на днях. Гибернация ж теперь будет жрать 16 от моих 120 — спасибо, что напомнили, надо подумать…
0xd34df00d
Ну, у меня не современные винды. И даже, на самом деле, вообще не винды.
Не знаю, кстати, за Windows, но линукс образ вполне себе сжимает (заодно и писать/читать быстрее будет, возможно, даже на SSD). То есть, лично мне в среднем нужно будет не 64 гига, а существенно меньше, но всё-таки тогда уж стоит ориентироваться на худший случай.
А про синхронизацию — да, у меня в кроне есть задача, делающая tar всех нужных мне данных в памяти на диск каждое раннее утро.
sumanai
> Не знаю, кстати, за Windows
Резервирует 3/4 размера ОП под гибернацию. Так что сжимает.
Alexeyslav
Виндовс резервирует ровно столько места на диске сколько доступно системе. По многим аппаратным причинам, операционной системе доступна не вся физическая память. Поэтому и выделяется памяти меньше.
На 32-х битной системе с 4Гб физической памяти может быть доступно лишь 2.75Гб из-за отражения адресных пространств устройств на адресное пространство памяти. Не думали тогда что памяти в настольных системах будет настолько много.
А зависит это от производителя материнской платы.
Вспомнил рекламу в журнале… крутейший сервер на 486-м процессоре и аж 256Мб оперативной памяти. Запредельные значения для простых смертных в то время…
Am0ralist
ну, когда мне нужен линукс — он у меня просто в оперативке запускается с сохранением изменений в указанном файле. но я там серьезных задач не решаю)
0xd34df00d
Когда мне нужен Windows, я включаю отдельную машину с ним. Правда, я там тоже серьёзных задач не решаю, в пару игрушечек поиграть :)
Alexeyslav
Гибернация даёт больше чем ускорение загрузки. Это ещё и восстановление состояния всех запущенных приложений, именно за это ценится этот режим.
Жаль, конечно, что при этом расходуется ценный ресурс SSD — удобство имеет свою цену. На стационарном такой проблемы нет — как правило SSD используется только для системного диска, а файл гибернации можно перенести на HDD(интересно, можно ли на отдельный скрытый раздел?).
GadPetrovich
Не могли бы рассказать, как вы перенесли файл гибернации на HDD?
Alexeyslav
Никак. А было бы неплохо. Есть только на некоторых системах технология позволяющая перенести гибернацию на отдельный SSD выделенный только для этой цели.
sumanai
Я один на ПК пользуюсь ждущим режимом? Ничего никуда не сохраняется, всё держится в ОП, но вентиляторы и жёсткие останавливаются, и потребление минимально. Разве что сбой электроэнергии будет аналогичен жёсткой перезагрузке, но ОС от этого давно не ломаются.
Alexeyslav
ОС не ломаются, а вот открытые файлы и проекты могут поломаться. особенно если база данных активно отрабатывает без коммитов…
Давно уже жду NVRAM гигабайтных размеров, вот где гибернация не нужна будет… никаких границ RAM/ROM/HDD — одно сплошное адресное пространство и под оперативную память и хранилище данных не требующее питания для хранения. Тогда систему можно останавливать хоть каждую секунду.
sumanai
Сохранять проекты перед уходом от ПК- хорошая практика вне зависимости от использования ждущего режима.
NVRAM вещь хорошая, но потребует переписывания всего софта, начиная от ОС, и заканчивая разнесчастным клиентом HG (или git). И вряд ли там будет работать моя любимая XP ((
ReanGD
Для Linux есть например profile-sync-daemon, который умеет синхронизировать кеш с постоянным хранилищем по таймауту (раз в час вроде), плюс делает это при штатном выключении комьютера. Так же он умеет работать через OverlayFS, что позволяет не хранить на RAM диске лишнего. Настройку, если интересно, я описывал тут.
edd_k
Так вы не решили проблему. Подавляющая часть объема записи FF — это НЕ кеш
NET_KOT
Сейчас у меня запись на SSD в сутки составляет 1-2 Гб против 15-25 раньше. Подкрепите, пожалуйста, фактами ваши слова про «подавляющую часть объема».
edd_k
Ну статья о чем? О профиле, а не о кеше. ФФ спамит (ПЕРЕзаписывает по паре метров ежесекундно) гигабайты в ПРОФИЛЬ. Объем зависит от жирности сессии и активности серфинга. А чем можно КЕШ заспамить в объеме несколько десятков гиг за день — мне сложно представить.
arantar
Какой прогой пользовались для создания RAM-диска?
0xd34df00d
mount -t tmpfs