Разгон Firefox
2012-05-31 01:20 pmЕсли под виндой:
1) установить драйвер рамдиска с возможностью загрузки образа с винта при старте ОС и выгрузки образа обратно на винт при останове ОС, с автоматическим возвратом к предыдущему снэпшоту при аварийном прерывании записи, типа вот этого: http://memory.dataram.com/products-and-services/software/ramdisk
2) создать рамдиск размером 512Мб (например X:),
3) перенести на него профили Firefox'а (C:\Users\User\AppData\{Local,Roaming}\Mozilla\Firefox -> X:\Firefox\profile_{local,roaming}), а также исполняемые файлы (C:\Program Files (x86)\Mozilla Firefox -> X:\Firefox\bin),
4) со старых локаций создать точки присоединения (NTFS junctions) на диск X: (консольная команда mklink /J),
то Firefox будет работать намного, намного быстрее. Субъективно раза в 2 быстрее в свободном режиме и раз в 10 быстрее, когда другие приложения интенсивно что-то читают с диска или пишут на диск.
У Firefox'а есть старая проблема: подтормаживание на autovacuuming of sqlite3 database:
http://jasonlefkowitz.net/2011/10/dear-mozilla-fix-your-damn-browser-already/
Обычно оно происходит в самый неподходящий момент, например, при наборе URL'а или прокрутке страницы.
Перенос на рамдиск здорово помогает с этим.
Недостатки: на 512 Мб меньше свободной оперативной памяти, на 5 секунд дольше происходит загрузка и останов ОС. Поскольку браузер — уже давно самое главное приложение в системе, я думаю, с этими недостатками можно смириться.
По хорошему, они должны включить это всё в стандартный инсталлятор (opt-out). Винда, ещё с 2000-й версии, умеет монтировать тома не только на букву, а на произвольный путь в глубине файловой системы другого тома.
1) установить драйвер рамдиска с возможностью загрузки образа с винта при старте ОС и выгрузки образа обратно на винт при останове ОС, с автоматическим возвратом к предыдущему снэпшоту при аварийном прерывании записи, типа вот этого: http://memory.dataram.com/products-and-services/software/ramdisk
2) создать рамдиск размером 512Мб (например X:),
3) перенести на него профили Firefox'а (C:\Users\User\AppData\{Local,Roaming}\Mozilla\Firefox -> X:\Firefox\profile_{local,roaming}), а также исполняемые файлы (C:\Program Files (x86)\Mozilla Firefox -> X:\Firefox\bin),
4) со старых локаций создать точки присоединения (NTFS junctions) на диск X: (консольная команда mklink /J),
то Firefox будет работать намного, намного быстрее. Субъективно раза в 2 быстрее в свободном режиме и раз в 10 быстрее, когда другие приложения интенсивно что-то читают с диска или пишут на диск.
У Firefox'а есть старая проблема: подтормаживание на autovacuuming of sqlite3 database:
http://jasonlefkowitz.net/2011/10/dear-mozilla-fix-your-damn-browser-already/
Обычно оно происходит в самый неподходящий момент, например, при наборе URL'а или прокрутке страницы.
Перенос на рамдиск здорово помогает с этим.
Недостатки: на 512 Мб меньше свободной оперативной памяти, на 5 секунд дольше происходит загрузка и останов ОС. Поскольку браузер — уже давно самое главное приложение в системе, я думаю, с этими недостатками можно смириться.
По хорошему, они должны включить это всё в стандартный инсталлятор (opt-out). Винда, ещё с 2000-й версии, умеет монтировать тома не только на букву, а на произвольный путь в глубине файловой системы другого тома.
no subject
Date: 2012-05-31 11:09 am (UTC)Я в линухах под хромиумом работаю, именно по причине медлительности лиса.
no subject
Date: 2012-05-31 01:08 pm (UTC)При загрузке машины:
1) Создать блочный рамдиск фиксированного размера в ядре. Это делается ещё до старта ядра, в контексте загрузчика (grub, lilo или что там у Вас). ramdisk_size=N (в килобайтах).
2) Создать ноду для рамдиска в /dev . Нода будет называться ram0 (если корневая ФС при загрузке это initramfs или раздел HDD) или ram1 (если загрузка идёт с initrd), мажорный/минорный номер см. в LANANA device list. Хотя в нормальном дистре об этом должен заботиться udev или как оно там сейчас называется.
3) Скопировать файл-образ с винта на рамдиск (dd). Можно с потоковой распаковкой (gzip -d -c)
4) Смонтировать файл-образ на рамдиске (mount).
5) Создать симлинки для профиля, ведущие на рамдиск. Возможно, для исполняемых файлов тоже (понятия не имею, как работает автоообновление FF на линуксе). Предварительно снести всё, что мешает созданию симлинков (rm -rf).
При останове машины:
1) Снести с винта симлинки, ведущие на рамдиск
2) Размонтировать файловую систему на блочном рамдиске. Если есть несогласные - перемонтировать в режиме readonly.
3) Скопировать файл-образ с рамдиска на винт (dd) в *.tmp. Можно с потоковым сжатием (gzip -1 -c) Сделать ему fsync в конце.
4) sync всей файловой системы, где лежит образ. *.tmp и не-*.tmp меняются местами.
5) sync всей файловой системы, где лежит образ. Удалить *.tmp
Для подготовки образа:
1) Создать пустой файл размером 512 метров с помощью dd.
2) Назначить ему loopback-устройство (с помощью losetup).
3) Смонтировать loopback-устройство (mount), создать файловую систему (mke2fs).
4) Скопировать на новый диск профили файерфокса и возможно его исполняемые файлы и либы
5) sync, umount, освободить loopback-устройство
6) Сжать образ при необходимости и положить туда, где его ищет загрузочный скрипт