Ускорение загрузки Windows for fun and profit

    image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

    Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…

    Конкретных и общеприменимых советов по оптимизации работы ОС быть не может точно так же как не может быть конкретных советов по ускорению работы любой случайно взятой программы. Точно так же как и в отдельных программах, работа всей системы может быть серьезно замедлена из-за одного-двух на первый взгляд незначительных мест. Для нахождения подобных «бутылочных горлышек» в программах существуют инструменты, называемые профайлерами. Нет ничего странного, что для нахождения «бутылочных горлышек» в операционной системе мы тоже будем использовать профайлер (никаких кавычек — это действительно профайлер причем одновременно и sampled и instrumented). С недавних пор WPA Tools распространяются в составе Windows SDK. Ставить полный SDK совершенно необязательно. Можно установить только «Windows Performance Toolkit»:



    Собирать трейсы будем при помощи xbootmgr. Из магии используется только автологгер, включающий сбор ETW трейсов начиная с самого winload. Для вызова справки можно ввести xbootmgr -help — приводить ее здесь я не буду. Для желающих оценить масштаб можно ввести xperf -providers (или logman providers). Каждый провайдер имеет несколько «ключевых слов» (keywords), каждое «ключевое слово» включает/выключает несколько типов событий (event).

    Итак начнем. Осторожно, следующая команда автоматически перегружает компьютер: xbootmgr -trace boot

    После перезагрузки в каталоге, в котором эта команда была выполнена останется файл «boot_BASE+CSWITCH_1.etl» (BASE+CSWITCH это те самые «ключевые слова»): xperf boot_BASE+CSWITCH_1.etl

    И можно начинать просмотр. Увиденное навевает печаль:



    Explorer готов к 36-й секунде, но из-за 100% загрузки единственного (не особо быстрого) диска, система еще 2 минуты будет не очень отзывчивой (меню пуск будет открываться мгновенно, а вот с запуском программ придется подождать). ReadyBoot пытается чего то сделать и сначала у него даже получается (оранжевое и зеленое), но постепенно накапливающиеся отклонения от бутплана сводят его попытки на нет.
    Что еще печальнее, так это то, что вместо собственно чтения данных, большую часть своей стопроцентной занятости диск проводит в метаниях головки к центру диска и обратно:



    Небольшая справка: ReadyBoot собирает профиль использования диска при каждой загрузке и потом сервис SysMain строит бутплан на основании пяти последних загрузок. Соответственно, чем чаще загружаетесь, тем лучше будет «угадан» бутплан на следующую загрузку и тем быстрее она будет. Помимо этого, префетчер собирает статистику о том, какие файлы и в каком порядке были использованы во время загрузки и складывает эту информацию в %SystemRoot%\Prefetch\Layout.ini

    Эту информацию использует встроенный дефрагментатор для принятия решений о размещении файлов.


    Соответственно первой «оптимизацией» будет многократная перезагрузка и дефрагментация. Очень удобно, что xbootmgr может сделать это за нас.

    xbootmgr -trace boot -prepSystem
    По умолчанию выполняется шесть перезагрузок:



    После второй начинается дефрагментация:



    Когда все закончится, в каталоге, из которого был запущен xbootmgr останется 6 файлов с трейсами каждой из подготовительных перезагрузок а также все тот же boot_BASE+CSWITCH_1.etl

    Смотрим, изменилось ли чего нибудь. А все изменилось довольно заметно:



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



    Мы все еще ходим в центр диска и этим мы займемся позже, но disk seek-ов уже заметно меньше, и это уже какой никакой, а успех. Пока же, обратим внимание на такой график:



    Это же безобразие. Пока кто то выкладывается на 100%, некоторые отдыхают. Будем исправлять. Как обычно разменивают процессоное время на размер читаемых данных? Правильно, компрессией. Исправлять будем сжатием папок Windows и обоих Program Files-ов. Попытку сделать это из загруженной системы нельзя назвать успешной — какие то файлы пакуются, какие то нет. В общем так жить нельзя:



    Перегружаемся в System Recovery и выполняем оттуда compact /c /a /i /s: каталог для наших трех каталогов. Скриншотов не будет, так как мне было сильно лень делать скриншотилку для WinPE — придется поверить на слово (а лучше перепроверить экспериментально). prepSystem придется провести еще раз, так как layout диска после сжатия сильно поменялся.

    Ну и проверяем, чего у нас вышло-то:



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

    И да, мы все еще ходим в центр диска:



    Тултипы подсказывают нам виновника. Перепроверям



    Заодно под раздачу попадают скайп и стим. И правильно — нечего им делать в автозагрузке с такими аппетитами. Их всегда можно запустить из супербара/старт меню.

    Последние штрихи:

    Совершенно невменяемое время загрузки одного сервиса:



    И второго:



    Мы договорились не отказываться от функционала, даже если он нам на фиг не уперся. Поэтому отключать сервисы мы не будем. Мы просто переключим их в «Automatic (Delayed start)»:



    В случае с Microsoft Antimalware все несколько сложнее:



    Достаточно быстро выясняем, что дело в том, что сервис относится к группе «COM Infrastructure» и не может быть загружен позже этой группы. Идем в реестр и вытаскиваем его из этой группы, после чего спокойно доделываем дело:



    На всякий случай еще один prepSystem и вот финал:



    Эксплорер загрузился на 17-й секунде, на 18-й фактически прекращается дисковая активность.

    Можно полюбоваться на строго упорядоченный доступ к диску:



    Быстрый SSD и/или тотальное вырезание функционала могло бы сократить время загрузки до десяти секунд и меньше.

    А вывод из всего этого такой: прежде чем что либо «оптимизировать», стоит определить те минимальные изменения, которые возымеют максимальный результат.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 361
    • +224
      Вах-Вах! Ожидал очередную пачку «вредных советов» по отключению служб и подкачки, а тут МЯСО!
      • +8
        Хабр торт :)
        Для любителей w2003/XP есть bootvis, но я не могу похвастать кардинальным уменьшением длительности загрузки.
        • +1
          Вообще говоря, ETW появился в XP. С висты ему приделали xml манифесты (вместо mof) и назвали это Crimson. Другое дело, что в икспишечке и близко нет тех шести с чем то сотен провайдеров, которые есть на семерке. Ну, еще один повод для апгрейда :-)
          • 0
            Спасибо вам огромное!
            Эсплорер готов
            до: к 110 секунде :)
            после: к 30

            Также запустил с флагом DRIVERS, и выяснил, что по тыще раз грузятся 4 странных драйвера, типа mup.sys(какойто системный) и eamon.sys(нод32). Притом неокторые экземпляры eamon.sys и по 14 и по 23 секунды грузятся((( Что с жтим делать, и вообще. надо ли что-то делать — не знаю((

            А еще я выяснил, что дропбокс и нод32 жрут 70% дискогого времени при загрузке. Но вина здесь скорее не их, а моя, т.к. я когда был маленький придумал себе архитектуру хранения данных, так она и идет: ось у меня на диске С, на котором больше ничего нет, а все программы на Е. Что непременно заставляет бегать головку диска от начала диска (где лежит диск С) к середине (где лежит диск Е). А я то думал, что у меня так часто хддшники ломаются) Оказывается я мудак(
            • 0
              Что же тогда делать если хочется систему и программы иметь в разных местах, чтобы сильно не париться, если всё сломается?
              • 0
                Думаю не делить один физический на два логических или более. А поставить систему на один физический, программы на другой физический диск.
        • +2
          habrahabr.ru/blogs/windows7/102669/ — еще немного мяса про оптимизацию энергопотребления
        • +9
          Качественный подход. Надо будет попробовать.
          • +5
            Выигрыш от сжатия сильно зависит от того, насколько процессор быстрее накопителя. Хотя с другой стороны, я не видел, когда бы это ухудшало ситуацию — иногда просто не сильно улучшает. С другой стороны, место на диске экономится
            • +1
              Я видел, когда сжимаются все подряд файлы, но дефрагментация не производится. И не производилась N лет до этого ;)
              • +1
                А нужна ли дефрагментация на SSD и как ее избежать в этой инструкции? На сколько эффективно сжатие папок если процессор Атом 270?
                • +1
                  И да и нет. Для SSD отсутствует пенальти на disk seek (поэтому укладывать файлы плотно друг к другу не надо), с другой стороны SSD читает блоками что то около 256К, и желательно чтоб данные в каждом блоке были более менее взаимосвязаны (лучше всего — относились к одному файлу). Сжатие вряд ли поможет атому.
                  • +1
                    А можно ли сделать образ фс, сделать на нем все оптимизации и залить обратно? Мне кажется, операции дефрагментации и сжатия сильно расходуют ресурс ssd.
                    • +2
                      Можно шаманить и над образом. Честно говоря мне такое в голову не приходило :-)
                      Но как по мне — эта статья просто демонстрация процесса оптимизации, по сути же ускорение загрузки на минуту или даже на две — как по мне баловство
                      • +2
                        Если посчитать ускорение не в минутах, а в процентах, то что в у вас на графиках — получается совсем не баловство :)
                        • 0
                          Ну это да. Очень хорошая демонстрация процесса. Но в реальной жизни мы выигрываем минуты, а не проценты :-)
                          И если перегружаться только при апдейтах, процесс оптимизации загрузки превращается в такую увлекательную игру для ума, не имеющего никакого отношения, собственно, к реальности
                          • 0
                            Ну, вот тут одновременно и соглашусь и нет.

                            Т.к. в жизни-то конечно минуты, но относительность восприятия величин — делает свое дело.

                            Это как с ноутбуками — отдельно 1 кг — это малый вес, почти не напрягающий. Но при этом ноуты с весом 1 кг и 2 кг — ощущаются совсем по разному.

                            Так же и со скоростью отклика UI, лишний десяток милисекунд — может сильно подпортить впечатление.

                            Аналогично и со временем загрузки.

                            Все потому-что мы интуитивно (или по привычке) знаем что такое «быстро», а что такое «медленно». И когда что-то «медленно» — оно начинает напрягать. )

                            Раньше вот с аудио-касет игрушки стартовали — 4-5 минут было норма… а 2 — казалось быстро. В два раза быстрее — не хухры-мухры )

                            Такой вот минутно-процентный дуализм. :)

                            Насчет же того что хибернейт рулит — согласен на все сто. Кстати, может быть вы знаете какую-нибудь шаманскую методику ускорения именно хибернейта? :)
                            • 0
                              Ускорять там к сожалению практически нечего. Вся используемая память пакуется и сбрасывается на диск. Причем hiberfil обычно нефрагментирован. Собственно ответом здесь будет использовать меньше памяти или иметь более быстрый диск :-)

                              Есть еще гибридный сон. Все сбрасывается в hiberfil, но система не выключает питание («Спящий режим»), а уходит в стендбай («Ждущий режим»). Если питание не пропадало — просыпаемся мгновенно, если пропадало (или системе показалось, что смысла ждать уже нет и можно поспать) — восстанавливаемся из хибернейта. Best of two worlds
                              • 0
                                Жаль если действительно пошаманить совсем никак. )
                                Потому-что скорость гибернации — то что на самом деле очень и очень нужно.

                                Фишка в том что обычно закончив дело (презентацию\совещание), нужно быстро упихать ноут в сумку и топать по делам.

                                И вот в этот момент приходится ждать окончания гибернации. Пихать в процессе не рискую — т.к. сохранность харда крайне важна, а в процессе гибернации как-раз идет самая активная работа.

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

                                Сейчас вот померил, хибернейтнутся.

                                Конфигурация:
                                HP Pabilion tx 2000 — AMD Turion X2 Dual-Core 2.1 GHz
                                3 Гига ОЗУ,
                                HD — WD 500 GB, SATA, 8 MB Cache, 5400 RPM
                                Win 7 32bit

                                Занято памяти 1.55 ГБ (типичная ситуация).

                                Результат:
                                Гибернация, до выключения: 51 сек.
                                Восстановление до logon screeen: 57 сек.
                                До показа эксплорера +5 сек (1:02).

                                На вскидку, по ощущениям — это как — нормальные показатели? :)

                                Просто тут даже лишние -10 секунд к ускорению выключения очень упростят жизнь.

                                Sleep же не подходит, т.к. кушает батаею. Да и было пару раз, когда ноут в сумке из слипа выходил (хз как). Хорошо случайно полез за вещами и заметил, он к тому моменту был нагрет так что за корпус было не взяться. %)
                                • +1
                                  Навскидку что то не так.
                                  xbootmgr умеет трейсить процесс засыпания (-trace hibernate). Попробуйте включить — может чего нибудь прояснится.
                                  Я на днях посмотрю какую информацию он вообще выдает в этом режиме — никогда до этого не заглядывал.
                                  • +1
                                    Сделал на ThinkPad T500, занято те же полтора гига.

                                    Вот там где сплошная линия — процессоры уже на HIGH_LEVEL занимаются сбросом и чтением (в данном случае где то 25 секунд каждый). Если эта стадия занимает больше всего времени — посмотрите насколько фрагментирован файл hiberfil.sys, померяйте скорость линейного чтения и пр… Если же есть большие задержки до этого — просто смотрите кто это там держит систему.
                                    • 0
                                      Большое спасибо, поэкспериментирую.
                                      О результатах обязательно напишу.
                                      • 0
                                        > ThinkPad T500
                                        Ну это я немного раскатал губу. На самом деле это был W500
                                        • 0
                                          Нашел наконец время что бы повозится с производительностью… нда, все действительно печально, хибернейтится оно в 1.8 раза дольше чем упомянутый выше W500 :|

                                          Вот что я увидел на первом тесте:
                                          1. habreffect.ru/files/714/328ef1d4e/1-hb-take1.jpg

                                          Но как оказалось, я его по случайности провел в режиме Power Plan «Balanced» (на батареях работаю в нем, для экономии энернии… и не всегда вспоминаю о переключении).

                                          Проверка на «High perfomance» — улучшила результат, но не сильно.
                                          2. habreffect.ru/files/886/3ad5504d6/3-hb-io-take2vs4.png (верхний график)

                                          И-то возможно половина причины ускорения в том, что это был второй хибернейт подряд.

                                          Покопавшись в процессах, я увидел интересное, например что Jing в момент хибернейта занимается черти чем: 3. habreffect.ru/7e5/76e876fa6/2-hb-process.jpg
                                          (левая — первый хибернейт, правая — воторой хибернейт, в high perfomence)

                                          Придется от него отказаться, искать другую скриншотилку. :)

                                          Так же то, что много дисковой активности приходится на антивирус… в том числе на проверку pagefile.sys %)) Настроил что бы он проверял файлы только при обращениях на чтение, а не на запись. pagefile добавил в исключения.

                                          Как итог, время в начальной и конечной фазе хибернейта сократилось на 5+10=15 секунд… но время собственно выгрузки увеличилось на аналогичный промежуток!!! :))
                                          2. habreffect.ru/files/886/3ad5504d6/3-hb-io-take2vs4.png (нижний график)

                                          Теперь вопрос в том — можно ли уменьшить собственно время выгрузки. Почему оно у меня настолько больше? На W500 — быстрый хард? :) Фрагментация?

                                          У меня вроде, там где показывает профайлер — не сильно по диску скачет в момент хибернейта (как посмотреть фрагментацию конкретного файла, пока не знаю, винда говорит что фрагментация диска 0%;):
                                          4. habreffect.ru/ba7/518551a00/4-hd-io-detail.png

                                          Хард вроде тоже особых аномалий не проявляет (тестил на работающей системе):
                                          5. habreffect.ru/08b/69cb1a9e6/5-hdd-speed-test.png

                                          И еще раз спасибо за статью… пока разбирался, скилл профайлигна несколько прокачался :)
                                        • +1
                                          >> Да и было пару раз, когда ноут в сумке из слипа выходил (хз как).
                                          Проверь таск обновления Media center в TaskManager. Он очень долго мешал мне жить. Так как по умолчанию в нем указано, что должен запускаться даже если компьютер выключен.
                                          • 0
                                            Хм… любопытно, спасибо.
                                            Но интересно — как? Оно в биосе таймер проставляет? Это зло! %)
                                            • 0
                                              Я сейчас не вспомню как точно он называется.
                                              Но он вечно врубал мне ком из слипа в 5 утра, что мягко говоря напрягало
                                              • 0
                                                А, точно. из Слипа вполне возомжно… и без таймера. 8)
                                • 0
                                  У меня ноут грузится с нуля до рабочей системы за пару минут. Если его ускорить на минуту — это в два раза быстрее.
                                  • +1
                                    «Не держите его так» :-)
                                    Hibernate FTW, серьезно. Помимо ускорения, собственно, загрузки у Вас будут загружены все приложения, открыты документы и пр…
                                    Перегружаться стоит только тогда, когда не перегружаться нельзя (апдейты, например)
                                • +1
                                  Если вы сделаете образ именно ФС, а не диска, то вам достаточно залить его назад, и все, абсолютно ВСЕ файлы будут нефрагментированны.
                                  • 0
                                    Тоже верно. Если при этом начинать заливать в порядке, указанном в layout.ini — они еще расположены будут очень близко к друг другу.
                        • +1
                          Вопрос — пару раз при загрузке семерки выскакивало окошко, которое показаывало какое приложение на сколько замедляло старт винды (было связано в антивирусом, который вешал систему на минуту при старте). Каки это окшко\журнал запустить вручную?
                          • +2
                            Этим занимается WDI (Windows Diagnostic Infrastructure). Запускается скорее всего либо из сервиса либо из службы, но на самом деле это не нужно, окна они показывают на основании анализа файла %SystemRoot%\System32\wdi\LogFiles\BootCKCL.etl () который собирается при каждой загрузке и содержит (среди прочего) информацию о запуске процессов, о загруженности диска и процессоров. Это такой же ETW Log (.etl), как и те, что собирались автологгером и его можно просматривать xperfview-ом
                            • +1
                              Спасибо. Вечером посмотрю.

                              И спасибо за статью :)
                              • +1
                                Не уверен, но можно заглянуть еще в %SystemRoot%\diagnostics — там лежат PowerShell скрипты, которые занимаются диагностикой. Вообще WDI — достаточно закрытая штука (no user serviceable parts, ага). Так что как там все конкретно устроено — я не знаю.
                          • +1
                            Отличная статья. Пошел ускоряться:)
                            • +6
                              Имейте в виду, что «compact /c» лично у меня занял 3 часа, так что надеяться на «сейчас быстренько ускорюсь и продолжу заниматься своими делами» не стоит :-)
                              Лучше оставить на ночь. Причем можно запустить сжатие параллельно в трех окнах
                              • +1
                                Спасибо, буду иметь ввиду.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • +15
                                    пожалуй уж тогда «спасибо, буду иметь винду»
                            • +1
                              Спасибо за хорошую статью.
                              Как раз сейчас требуется такой подход к серверу с win7.

                              С большой радостью почитал бы еще подобных материалов.
                              • +8
                                Сервер с Win7… Нда.
                                • +1
                                  Дык они выпущены в один день были. 2k8r2 надо полагать. Хотя я лично знаю людей, которые пускают серверные ворклоады на клиентский SKU (а в Win7 тот же IIS включен в поставку — почему бы и не использовать :-) )
                                  • +2
                                    На несерверных ОС IIS очень жестко ограничен по количеству одновременных подключений.
                              • +7
                                Лично я для себя проблему медленного запуска Windows решил использованием «Ждущего режима», вместо банального «Завершения работы». А так вообще перезагружаю систему раз в 1-2 недели, из профилактических соображений. Было время, когда у меня Windows 7 около 2х месяцев без перезагрузки работало, и каких-либо тормозов не наблюдалось.
                                • +3
                                  Да я тоже. Диск 5400 выдает во мне пользователя ноутбука. А перегружать ноут, когда можно просто хлопнуть крышкой — это сильно на любителя (хотя надо сказать еще до ноутов я пользовался hibernate-ом на постоянной основе)
                                  • +5
                                    Хлопнуть крышкой — не лучший метод, Мне кажется. А если надо будет закрыть крышку, но чтобы он не засыпал? Например, на ночь оставить качать чего-нибудь с тех же торрентов, но чтобы не светил? Я всегда настраиваю сон на кнопку питания, а при закрытии крышки просто выключается экран. Очень удобно, советую.
                                    • 0
                                      для отключения дисплея — у меня на ноуте есть Fn + F7 (или 1 из соседних F-ов — не помню).
                                      • +1
                                        У Меня тоже есть. Но как-то нравится Мне закрывать, и всё :3
                                        Опять же, а если надо закрыть крышку, оставить работать и понести куда-нибудь? Тоже пригодится не засыпать.
                                        • 0
                                          Таскать работающий ноут опасно (если он не ssd, конечно) — незапаркованные винты значительно менее устойчивы к физическим нагрузкам, чем запаркованные. Но вообще — дело вкуса, да.
                                          • 0
                                            Я таскал как-раз с SSD.
                                          • 0
                                            А еще греется во время работы. Тоесть в сумку уже поставить — не лучшая идея
                                            • 0
                                              Да ну! Это же не кухонная плитка, это же ноутбук!
                                              Я сто раз так делал — он у Меня аудио конвертировал, пока Я его нёс.
                                              • 0
                                                Это у Вас ноут хороший.
                                                Мой MSI как-то в сумке включился. Заметил только через час времени.
                                                Ноут пришлось в холодильник сунуть, бо прогрелся он просто таки капитально, и пованивал :)
                                                Хорошо хоть работает :D
                                                • 0
                                                  Это Я делал с Eee PC 901. Он — не хороший, он — обычный нэтбук. Это у вас что-то всё совсем плохо с ноутом.
                                                  • 0
                                                    Меж нетбуком и ноутбуком всё же есть разница.
                                                    У меня ещё не самый горячий. Есть модели которые на коленях держать нельзя, не то что носить в сумке :)
                                                    • 0
                                                      А Я думал, что самый горячий — Macbook Pro.
                                        • 0
                                          Как уже написали, отключение дисплея есть на всех современных ноутах. Да и перенастройка реакции на закрытую крышку занимает от силы секунд 20. Если «оставлять на ночь» — это скорее правило, чем исключение, то да, лучше не реагировать на крышку вообще. Если же это делается раз в пятилетку — то удобнее «хлопать крышкой»
                                          • 0
                                            Так нарушается процесс естественного охлаждения через верхнюю часть корпуса.
                                            Проще выключать монитор, такая кнопка обычно есть.
                                        • +1
                                          ну, по-большему счёту проблему медленного запуска windows вы не решили, просто сделали так, чтоб эта проблема проявлялась очень редко
                                          • +2
                                            Ну как сказать… если у меня система перезапускается раз в 10 дней и скорость загрузки 1мин, а у вас она перезапускается каждый день и пусть даже за 30сек, то получится, что в среднем на перезагрузку системы у меня будет уходить в 5 раз меньше времени.
                                          • –1
                                            Я решил это гибернацией. Но в последнее время гибернация тормозит почти также, как полноценное включение и загрузка. Причину пока так и не нашел.
                                            • 0
                                              Да, Семерка ужe позволяет иметь недельные аптаймы, что сильно облегчает жизнь. Плюс в ней как-то довольно хитро реализован Hibernate — за то время, что она у меня засыпает, явно не все 8 гигабайт памяти пишутся на диск, то жe самоe при побудке — уж очень быстро.
                                              • +7
                                                Месячные и более аптаймы можно было и на 2000/XP иметь между прочим.
                                                • 0
                                                  Но не на каждом компе. А тут я могу не выключать семерку неделей и она не будет тормозить через пару дней. с XP такое просто так не выйдет
                                                  • +6
                                                    У всех выходит, а у вас нет…
                                                    • –2
                                                      Ну за всех я бы не говорил…
                                                      • –1
                                                        У вас винда не падает? Руки кривые! :-)
                                                      • 0
                                                        Главное за эту неделю пару раз перезапускать Firefox и Opera, у меня эти заразы на работе отжирают по 500-600 Мб памяти каждый, если не перезагружать время от времени — какие-то у них жестокие утечки памяти.
                                                        • 0
                                                          настройте кэш
                                                          • 0
                                                            Пните меня в нужном направлении, пожалуйста. Я пытался заниматься этим вопросом. Вплоть до того, чтобы полностью отключать Memory Cache в обоих браузерах. Это никак не изменило ситуацию.
                                                            • 0
                                                              Вводим в адресной строке about:config
                                                              Смотрим параметры:
                                                              browser.cache.disk.capacity
                                                              browser.sessionhistory.max_entries
                                                              • 0
                                                                tracker2k.kiev.ua/prozhorlivyj-firefox-i-dieta-dla-nego.html
                                                                rulinux.net.ru/node/154

                                                                Но главное зло — это Google Toolbar. Если стоит, попробуйте отключить, у меня FF без него больше 300 мегов не занимает (около 30 вкладок).
                                                                • 0
                                                                  Спасибо, FF вроде бы несколько успокоился, а вот опера не поддается. И что обидно, гугление не приводит к результатам: жалобы есть, решений нет.
                                                          • 0
                                                            вы что-то удивительное говорите. у меня NT4 месяцами работала. 2-3 месяца аптайма было типичным делом.
                                                          • 0
                                                            Можно было. Но очень многие инсталляции (обновления драйверов) требовали перезапуска системы, в Семерке намного меньше. Ну и синий экран я за полтора года в Семерке видел всего раза два или три, Хрюша падала все-таки чаще.
                                                            • 0
                                                              У меня рекорд аптайма на ХП был 170 с чем-то дней. На нормальном рабочем компе, с файрфоксом, студией и пр. Потом пришлось перезагрузить при обновлении антивируса :)
                                                            • 0
                                                              У друга w2k3 уже за 600 дней перевалил )
                                                            • +1
                                                              1. Сбрасывается не вся память, а только используемая (та что находится в Working Set-ах) — можно посмотреть на пустой Standby List после каждого hibernate-а.
                                                              2. При записи, hiberfil пакуется хитрым алгоритмом, специально предназначенным для скоростной упаковки/распаковки, но имеющим относительно низкий коэффициент сжатия.
                                                            • 0
                                                              win7 не работе не перезагружал около года, никаких тормозов не наблюдаю.
                                                              Привет из 2015
                                                              • 0

                                                                2017 приветствует тебя! Семёрка на старом ноуте как тупила без перезагрузки, так и тупит.

                                                                • 0

                                                                  Попробуйте 10-ку?)

                                                                  • 0

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

                                                                    • 0
                                                                      Оперативки сколько? разрядность какая?
                                                                      для 32-битной минимум 4, для 64-битной минимум 8 и не нужно перегружать
                                                                      • 0
                                                                        для 32-битной минимум 4

                                                                        Что??
                                                                        • 0
                                                                          Мы говорим про минимум без тормозов, а не минимум вообще.
                                                                          • 0
                                                                            Лимит 32-битной адресации памяти напомните, пожалуйста.
                                                                            • 0
                                                                              Вы для одного конкретного приложения? С LARGEADDRESSAWARE до 3.5 гб.
                                                                              • 0
                                                                                А оно не для системы в целом? Я, просто, помню ограничение в 2 ГБ на процесс, но уже не помню, откуда это.
                                                                                • 0
                                                                                  Везде на пятки наступает Legacy. В основном проблема была связана с внутренним устройством NT и совместимостью. Вот неплохая статья:
                                                                                  http://www.ixbt.com/soft/windows-4gb-2.shtml
                                                                        • 0

                                                                          6 GB, 64-bit, Windows 7 Home Edition. Не знаю, можно ли сейчас купить такую память, надо поискать.

                                                              • +6
                                                                Статья очень грамотно написана. Действительно, редко когда встречаются руководства для подобных низкоуровневых манипуляций. А большинство людей свято верят, что ускорят компьютер если отключат SuperFetch и Windows Search…
                                                                • +1
                                                                  Спасибо, наверное надо где нибудь расписать чего люди теряют при выключении SysMain. В данной статье упоминается создание бутплана для ReadyBoot-а и создание layout.ini для дефрагментатора. Уже одного этого достаточно чтоб даже не приближаться к нему. Там еще ReadyBoost (который в принципе неплох как раз для слабого железа), ReadyDrive (достаточно редкие пока что гибридные накопители) и собственно суперфетч, который таки весьма неглупая штука.
                                                                  • 0
                                                                    и собственно суперфетч, который таки весьма неглупая штука.

                                                                    Напишите, как настроить суперфетч, чтобы он не пытался записать в память (и забить её и привести к тормозам системы) большие файлы (фильмы, образы) при копировании с одного диска на другой (замечал только в этих случаях). Да чтука хорошая, но в некоторых редких случаях приводит к сильному замедлению работы.
                                                                    • +1
                                                                      Если мне не изменяет память, то копирование файлов в оперативную память при копировании их с места на место позволяет сильно выиграть в скорости.
                                                                      Да и чего памяти простаивать? Это не ресурс, чтобы его экономить. Она должна работать.
                                                                      • 0
                                                                        Я уточнил: забивает память фильмами и образами полностью, и что либо делать на компьютере уже проблематично некоторое время.
                                                                        • 0
                                                                          Не замечал такого на своей системе. Может оперативной памяти маловато?
                                                                          • 0
                                                                            4Гб. На висте было сильно заметно даже при простых операциях, например включаешь фильм и слышно как начинает работать винт, а в мониторе ресурсов видно как этот фильм в память загружается. В 7ке очень редко, но бывает когда нужно подключить другой винт и перекинуть инфу, то проблема опять заметна.
                                                                            • 0
                                                                              Ну дык, это работа кеша. В ваших лучших интересах иметь забитый standby list и иметь минимум free list-а. Standby — это все та же свободная память, но ХОТЬ С КАКИМИ ТО данными, а вот free list — это просто потраченная впустую память.
                                                                              • 0
                                                                                Проблема в том, что когда что-то копируется с HDD на большой скорости, то что либо ещё делать в системе не реально, особенно интересно смотриться когда скорость копирования файла низкая пока он не закешируется. Причём копирование файлов в XP к таким проблемам с потерей производительности не приводила.
                                                                                • 0
                                                                                  Не замечал подобного ни в висте ни в 7. И да, суперфетч здесь в любом случае ни при чем. Однократное копирование какого нибудь файла ему что слону дробина
                                                                                  • 0
                                                                                    Помоему, кэш так работает на всех последних виндах и в линуксах.
                                                                                    Стоит просто понимать, что по идее кэш — сразу же будет освобожден, если память потребуется какой то программе.
                                                                                    Ну по крайней мере на линуксе так — после долгой работы память занята целиком (у меня 6Гб, занято около 6), но большая часть занята кэшем и буферами, и на скорости работы новозапускаемых программ это вообще никак не сказывается.
                                                                                    • 0
                                                                                      Видимо я не так изъяснился — меня не волнует то, что память занята, меня полнует то, что когда копирую файлы, системные процесы также копируют эти файлы в память и скорость копирования и производительность системы падает.
                                                                                      • +1
                                                                                        Чтение данных с диска в память при копировании обязательно в любом случае. Прямого копирования с винта на винт еще не изобрели :D
                                                                            • 0
                                                                              Почему то я уверен, что суперфетч этого не делает. В любом случае, теперь Вы знаете о «сверхсекретном» инструменте, позволяющем посмотреть кто именно загружает файлы в память.
                                                                              • 0
                                                                                У меня на висте с включенным суперфетчем поролись болванки в ImgBurn'е. Начинаешь записывать диск — появляются жуткие тормоза, в Resource Monitor вся память забивается записываемым файлом у процесса суперфетча, затем imgburn виснет.
                                                                                Выключаю службу суперфетча — запись проходит нормально
                                                                                • 0
                                                                                  Подтверждаю, тоже подобное было.
                                                                          • +2
                                                                            Насколько я знаю, он и не пытается. Кеширует файлы файловая система на пару с кеш менеджером и делает это независимо от любых суперфетчей. Суперфетч же префетчит файлы исходя из истории Вашей активности. Причем разбивает сутки на 4 интервала и каким то хитрым образом использует цепи Маркова для предсказания Ваших последующих шагов. К примеру, если Вы с утра пришли на работу и запустили браузер (ну кто ж сразу к работе приступает то), значит минут через 40 дойдет очередь и до почты и ее надо бы подгрузить в память заранее (собственно это и называется PRE-fetch).

                                                                            Фильмы, которые открываются с sequential only то ли вообще не кешируются то ли кешируются на Stanby list 0, что значит их выкинут при первой же необходимости. С торрентами сложнее, но я честно говоря не понимаю, почему не выставить низкий I/O приоритет потоку, а вместо этого задрачивать файл постоянными переоткрытиями.
                                                                            • 0
                                                                              А есть где нибудь подробное более-менее подробное описание принципа работы суперфетча, и возможностей его настройки?
                                                                              • 0
                                                                                У Соломона/Ионеску в пятом издании более менее подробно расписывается. Возможностей настройки нет. Это чисто внутренний механизм, не предполагающий вмешательство пользователя.
                                                                                • 0
                                                                                  Не думаю, что его можно настраивать. Но сбросить его кэш можно удалением prefetch файлов.
                                                                                • 0
                                                                                  А вы не могли бы подсказать, как бороться со следующей проблемой:
                                                                                  имеется ноутбук с core i3 530, 4gb RAM, Win 7 HP x64 и HDD Hitachi TravelStar 7K500 (7200 rpm)
                                                                                  исходя из различных обзоров — для ноутбука один из лучших жестких дисков
                                                                                  но
                                                                                  стоит запустить utorrent с максимальной скоростью загрузки/отдачи (~4-5MB/s) и минут через 40-60 у системы забивается память (причем, судя по данным task manager'а, не кешем) и она начинает жутко тормозить
                                                                                  если же utorrent'у поставить ограничение около 500KB/s, тогда система продолжает работать вполне нормально
                                                                                  • +1
                                                                                    У старых версий уторента был баг, при большой скорости он забивал всю память. В последних давно не встречал.
                                                                                    • 0
                                                                                      Ну я использую 2.0.4. Насколько мне известно, это было в 1.8.х? Или же вы говорите про бета-версии?
                                                                                      • 0
                                                                                        У меня на 2.1, и 2.2 такого бага небыло, на всех до 2.0 был, поэтому сидел на bitTorrent.
                                                                                        • 0
                                                                                          А сейчас вы чем пользуетесь? bitTorrent'ом, или uTorrent'ом?
                                                                                          К сожалению, некоторые трекеры, которыми я пользусь, запрещают использование beta-версий utorrent'а, поэтому не могу обновиться до бета-ветки.
                                                                                          • 0
                                                                                            Сейчас uTorrent 2.2, он уже RC (link)
                                                                                            • 0
                                                                                              Попробую его. Спасибо.
                                                                                              Правда, он тоже запрещен на одном трекере. Думаю, переживу :)
                                                                                              • 0
                                                                                                А почему запрещен? Просто интересно…
                                                                                                • 0
                                                                                                  Возможно, потому, что он основан на TBDev :)
                                                                                              • 0
                                                                                                Не помогло. Полтора часа поработал и, в итоге, сожрал около 1.5Гб ОЗУ. Странно то, что в TaskManager'e или ProcessExploror'e отображается, что он использует лишь 50Мб ОЗУ. Но, стоило лишь завершить работу uT, как 1.5Гб ОЗУ волшебным образом освободились.

                                                                                                Настройки кеширования пробовал разные (в uT). Сейчас стоят:

                                                                                                Кешировать запись на диск;
                                                                                                Записывать нетронутые блоки каждые 2 минуты;
                                                                                                Сразу записывать завершенные части
                                                                                                Включить кеширование чтения с диска
                                                                                                Удалять устаревшие блоки из кеша
                                                                                                Отключить Windows-куширование при записи на диск
                                                                                                • 0
                                                                                                  ОЗУ никто не «жрет». Оно используется для кеширования. Если ничего более подходящего нет — будут закешированы раздаваемые файлы. Проблемы начинаются когда из кеша начинают выталкиваться нормальные файлы (например экзешники) и за ними приходится каждый раз лазить на диск. По поводу разрастания System Working Set — не беспокойтесь. При первой же необходимости его подрежут
                                                                                                  • 0
                                                                                                    Дело в том, что при этом и система начинает заметно «тормозить». Если бы она не реагировала заметным уменьшением быстродействия на кеширование юторрентом, я бы и не стал разводить демагогию.
                                                                                                    • 0
                                                                                                      Там ниже показано как понизить I/O приоритет. Чтобы посмотреть как IoPriority влияет на работу системы, запустите штатный онлайн дефрагментатор и поработайте. 100% загрузка диска практически не сказывается на отзывчивости системы. Дело не в кешировании как таковом, а в том, что авторы uTorrent-а не удосужились сообщить системе, что данный ввод/вывод менее важен, чем все остальные клевые штуки, происходящие в системе
                                                                                                      • 0
                                                                                                        Еще до предыдущего моего сообщения я уже включил данные настройки в реестре. Не помогло :)
                                                                                      • 0
                                                                                        Task manager вообще говоря — довольно обманчивый инструмент. Чтоб правильно интерпретировать то, что там написано надо довольно серьезно разбираться в потрохах винды :-)
                                                                                        Его надо вообще выкинуть из поставки (тем, кому надо — скачают Process Explorer, а остальным он только вредит :-) )

                                                                                        Что же до торрента. Попробуйте понизить uTorrent-у приоритет. Насколько я понимаю, это должно привести к снижению I/O приоритета и соответственно кеширование будет происходит на более низкие уровни. Но вообще понижением приоритета должны заниматься авторы uT
                                                                                        • 0
                                                                                          Спасибо, попробую. А то я уже боюсь его запускать :) Никогда не ожидал от него такого поведения.
                                                                                          • +5
                                                                                            Приоритет CPU никак не связан с приоритетом I/O.

                                                                                            Но можно настроить систему так, чтобы она определенным приложениям (точнее экзешникам с определенным именем) устанавливала нестандартные приоритеты по умолчанию, для этого правим реестр:

                                                                                            Windows Registry Editor Version 5.00
                                                                                            
                                                                                            [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\uTorrent.exe\PerfOptions]
                                                                                            "CpuPriorityClass"=dword:00000001
                                                                                            "IoPriority"=dword:00000001
                                                                                            


                                                                                            (это для uTorrent.exe, использовать минимальный приоритет I/O и CPU по умолчанию)

                                                                                            з.ы. Очень полезная штука, кстати. У меня уже год на работе для компилятора и линковщика минимальный приоритет стоит, потому как на скорость компиляции это практически не влияет (комп мощный), а вот отзывчивость системы повышает в разы, особенно с новой студией которая может запустить до 30 процессов компиляции одновременно…
                                                                                            • 0
                                                                                              О, так даже лучше. Но я не про приоритет CPU, который ставится KeSetPriorityThread, я про Win32 «классы приоритетов», которые по хитрым правилам отображаются в приоритеты CPU/Memory/IO для потоков.

                                                                                              Про IFEO IoPriority не знал — большое спасибо. Это более правильный способ «ремонта» uT.
                                                                                              • 0
                                                                                                Не помогло :) Все также забивает всю свободную память.
                                                                                                • 0
                                                                                                  Память остается свободной. Кеш менеджер использует Working Set процесса System для меппинга файлов (кеш в винде работает через мемори меппинг). Так же как и все остальные Working Set-ы, при необходимости его протриммят. А приоритет нужен для того, чтоб кеширование раздаваемых файлов не «выдавливало» из памяти более необходимые файлы.
                                                                                          • 0
                                                                                            в настройках кэширования юторрента покопайтесь. Не помню точно что именно я там делал, но были похожие симптомы и настройка кэширования помогла.
                                                                                            • 0
                                                                                              Чего уж я только с ним и не делал:) и настройки кеширования копал, и Advanced. Форум их весь излазил. Так и не помогло :)
                                                                                              • 0
                                                                                                там что-то типа отключить виндовс-кэширование или наоборот его включить, уже не помню. кстати после каждого изменения следует перезагружаться, чтоб уж наверняка.
                                                                                              • 0
                                                                                                Он не обращал внимания просто на ограничение по памяти которое стоит в настройках, и забивал всю память.
                                                                                      • 0
                                                                                        Я свято верил, что можно ускорить компьютер, нажав кнопку Turbo на системнике
                                                                                        • 0
                                                                                          И оно работало, и даже на несколько ощутимых процентов!
                                                                                      • 0
                                                                                        Perfect!
                                                                                        • 0
                                                                                          Спасибо за ценную информацию! Отличная работа! Надо будет прооптимизировать свой CarPC, а то загрузка в «голую» систему около минуты, после пары «оптимизаторов» — 45сек минимум :(
                                                                                          • 0
                                                                                            Прекрасная статья! Спасибо!
                                                                                            • 0
                                                                                              Отличная статья. И, похоже, ещё один отличный инструмент, которым надо будет овладеть.
                                                                                              • +2
                                                                                                Автор статьи — жгучий ПЕРЕЦ! Сегодня проведу эксперементы со своими ноутами: один на атоме, другой на виа.
                                                                                                • +5
                                                                                                  вот за такое люблю хабр
                                                                                                  • +3
                                                                                                    Не поленился залогиниться, чтобы поблагодарить Автора. Спасибо за статью!
                                                                                                    • +1
                                                                                                      Спасибо за статью! :)
                                                                                                      • +2
                                                                                                        Амирул жжот как всегда! Малац!
                                                                                                        • +1
                                                                                                          Спасибо за конкретику, люблю такие статьи!

                                                                                                          И у меня вопрос — вы включили сжатие данных для Program Files и Windows. Хорошо, запуск ускорился. Но как это отражается в дальнейшем — не ощущаете уменьшения скорости работы приложений?
                                                                                                          • +9
                                                                                                            Отвечу картинкой.

                                                                                                            Вот так выглядит процесс загрузки (в первые 20 секунд диск занят на 100%). При подобном дисбалансе CPU/Disk скорость только увеличивается. И за счет того, что надо попросту меньше читать, и за счет того, что при меньшем количестве чтений уменьшается и contention — соответственно меньше disk seek-ов.
                                                                                                          • +6
                                                                                                            Автор тру виндавозник(виндоусятник)!
                                                                                                            • 0
                                                                                                              Наверное больше виндоусятник!
                                                                                                              • +3
                                                                                                                Белоглазик =)
                                                                                                            • 0
                                                                                                              Наверное, через пару версий винды эти инструменты доведут до ума и включат в комплект поставки в удобоваримом виде. Хотя на мой взгляд это стоило бы сделать уже «вчера». Такое радикальное ускорение — это круто.
                                                                                                              • 0
                                                                                                                Сбор трейсов можно производить и искаропочным logman (и даже гуевым PerfMon-ом), а вот анализом должны заниматься специально обученные индусы, так что SDK — самое место для такого рода утилит.
                                                                                                              • 0
                                                                                                                Как будет работать этот тулкит если в компе несколько пользователей и у каждого в своей автозагрузке свой набор приложений?
                                                                                                                • 0
                                                                                                                  Event-ы собираются и сбрасываются в файл в ядре. Если не залогинится под пользователем, инициировавшим сессии, то трейс просто не остановится и забьет диск, потому как xbootmgr ставит в автозагрузку отключалку трейса.
                                                                                                                • 0
                                                                                                                  окей, вот часть про Autologger я не понял. Как его включить так чтобы он собирал ETW начиная с winload?
                                                                                                                  В реестре в разделе сессий прописываются ИД провайдеров? Но какие именно провайдеры нужно указывать? И хватит ли прописать одну сессию?