Введение
В системный реестр заносят свои настройки многие прикладные программы. При изменении настроек, удалении прикладных программ - в реестре иногда остается много ненужных и неправильных записей, которые приводят к постепенному "разбуханию" реестра и, в конечном счете - тормозят работу системы. В любом случае, реестр с ошибочными и ненужными записями считается явлением нежелательным, а для некоторого улучшения этой ситуации предлагается достаточно большое число программных средств, предназначенных для поиска и удаления ошибочных и ненужных записей. Отношение к этим средствам разное, и зависит от авторитета разработчиков и популярности среди пользователей. Однако, реестр - инструмент настолько тонкий и хрупкий, что эксперименты с ним часто приводят неопытных пользователей к краху системы или к сбою настроек. В данной статье рассматриваются вопросы безопасного тестирования программ - чистильщиков системного реестра на примере нескольких специализированных и универсальных утилит.
Краткое описание некоторых программ
RegSeeker
Подробное
описание этой программы имеется на нашем сайте. Отмечу, что это - универсальная, удобная и бесплатная программа для работы с реестром, которая имеет механизм поиска и удаления ненужных и ошибочных записей реестра, сохранения и восстановления реестра от изменений. Работает быстро, при установке не требует инсталляции.
Work With Registry (WWR)
Также удобный и быстрый "чистильщик". Создает файл отката как для отдельных ключей, так и для всей сессии в целом. Для каждой записи генерирует резюме о причине, по которой запись не нужна или ошибочна. Можно указать разделы, которые проверять не нужно.
EasyCleaner
Чистка реестра - одна из многих функций этой универсальной программы. Не имеет функции подсчета числа найденных записей, но результат сканирования можно сохранить в файл для последующего анализа. Можно удалять отдельные записи и все "оптом". С другой стороны, все изменения можно восстановить пораздельно и все вместе. В целом, очень приятная, толковая и полезная программа, к тому же - бесплатная.
Ultra WinCleaner (Demo version)
Здесь также чистка реестра - одна из многих функций. В данной версии функция удаления не поддерживается и вопрос отката не возникает. Используется только общее число записей, которые данная программа считает возможным удалить из реестра для сравнения с аналогичными результатами других программ. Программа - платная.
RegVac
Чистка реестра - одна из функций этой универсальной программы (системного "пылесоса"-уборщика). Имеется возможность отката сделанных удалений.
Microsoft RegClean
А это - узко специализированная программа по удалению и исправлению ошибочных записей реестра. Сами эти записи нам не показываются, возможности отбора нам не предоставляется. Но файл отката создается, и в нем можно посмотреть и сосчитать число исправлений.
Меры предосторожности
Разработчики программ, которые вносят изменения в системный реестр, убедительно просят принять меры предосторожности на случай порчи реестра. К таким предупреждениям нужно относиться вполне серьезно. Каждый пользователь имеет собственные приемы для восстановления настроек системы. Здесь я покажу мои способы, которые можно принять к сведению:
1. Восстановление системы. Для восстановления системы (случай, когда система не загружается) я использую загрузочный диск с дистрибутивом Windows 2K, который имеет опцию - "Восстановить систему по копии системного реестра". Обычно этого способа вполне достаточно.
2. Восстановление настроек системы. Для этой цели используется очень удобная программа WinRescue 2K.
WinRescue 2K
Эта программа имеет несколько вариантов в зависимости от системы (WinRescue XP, WinRescue ME, WinRescue 98 и т.п.). Программа платная ($19.95), работоспособна 30 дней. Программа позволяет сохранить и восстановить реестр в среде Windows, а также в среде DOS (с помощью загрузочных дискет). Имеется еще очень интересный для нашей темы режим RegPac, в котором проверяется реестр на предмет ошибок и ненужных записей с целью сокращения объема реестра. Результат этой работы может быть подвергнут полному откату.
KMCS Deluxe System Suite
Эта универсальная программа для чистки системы содержит очень интересную утилиту RegCompress, которая якобы окончательно реализует результаты чистки реестра любыми программами и сжимает реестр за счет удаления пустых ключей, остающихся после чистки. Эта утилита запоминает реестр и может восстановить его в любой момент из среды Windows. Возможности утилиты можно представить по следующей картинке...
Утилита RegCompress
Здесь зафиксировано состояние, когда произведено резервное сохранение реестра (Backup). Сжатие не выполнялось, но восстановление (Restore) уже возможно, так как имеется копия от 24 июня. Кроме того, мы видим размер несжатого реестра, который в данном случае равен 20398080. Поскольку другим способом определить текущий размер реестра весьма затруднительно, будем использовать эту утилиту для оценки текущего размера системного реестра.
План тестирования
Тестирование предполагает следующие основные моменты:
1. Исходное положение системного реестра фиксируется программой WinRescue и не нарушается изменением настроек или установкой новых приложений.
2. Сканирование выполняется для максимально возможного числа разделов, предусмотренных в настройках программы-сканера. Если без удаления невозможно определить результат сканирования (программа Microsoft RegCleaner), то после сканирования выполняется откат и восстановление реестра в WinRescue.
3. Чистка реестра включает в себя:
- Повторное сканирование реестра
- Удаление всех обнаруженных ошибочных и ненужных ключей и параметров средствами программы-сканера
- Оценка работоспособности системы и основных приложений
- Оценка изменения размеров реестра
В свою очередь, оценка работоспособности включает в себя:
- Запуск (перезапуск) системы
- Открытие файлов TXT, HTM, DOC, XLS, SCR, CHM, PDF, AVI, MP3, MPEG, WAV, BMP, JPG
- Прием почты (Outlook Express)
- Доступ к соседнему компьютеру по локальной сети
Результаты сканирования реестра
Результаты сканирования представлены в следующей таблице...
Результаты сканирования реестра
Программа | Время (сек.) | Число элементов
|
---|
RegSeeker | 87 | 759
|
Work with Registry | 19 | 574
|
EasyCleaner | 32 | 308
|
Ultra Wincleaner | 65 | 153
|
RegVac | 35 | 108
|
Microsoft RegClean | 15 | 126
|
Таблица дает представление об эффективности поиска ошибочных и ненужных записей в реестре, а также о скорости работы программ-сканеров. При тестировании сканирование будет выполняться заново, в том числе - повторное сканирование после чистки реестра средствами программы-сканера.
Результаты тестирования
1.
RegSeeker
Начальный размер реестра: 20406272.
Удалено ключей и параметров: 758.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20402176.
Повторное сканирование: 230.
Примечание: Результат повторного сканирования свидетельствует, что функция удаления записей реестра в этой программе недостаточно хорошо отработана. Очень малое изменение размера реестра может означать, что принятый способ определения размера не совсем точно отражает действительное положение дел.
2.
Work with Registry
Начальный размер реестра: 20406272.
Удалено ключей и параметров: 573.
Из них неисправимых: 4.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20402176.
Повторное сканирование: 3.
Примечание: Оценки размеров реестра полностью совпадают с результатами в предыдущем тестировании.
3.
EasyCleaner
Начальный размер реестра: 20406272.
Удалено ключей и параметров: 308.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20402176.
Повторное сканирование: 4.
Примечание: Оценки размеров реестра полностью совпадают с результатами в предыдущем тестировании.
4.
RegVac
Начальный размер реестра: 20406272.
Удалено ключей и параметров: 108.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20406272.
Повторное сканирование: 18.
Примечание: Оценки размеров реестра до и после чистки не изменились.
5.
Microsoft RegClean
Начальный размер реестра: 20406272.
Удалено ключей и параметров: 146.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20 418 560.
Повторное сканирование: 146.
Повторное сканирование: 120.
Примечание: Оценки размеров реестра после чистки увеличились.
Предварительное обсуждение результатов
Размер реестра не отражает результатов чистки. Это может происходить, например, потому, что фактически записи не удаляются из реестра, а заменяются пустыми ключами и пробелами. Следует иметь в виду, что файлы реестра записаны в бинарном виде, а в таких файлах записи не удаляются, как в текстовом редакторе, а обнуляются. Другими словами, чистка приводит к фрагментации реестра. Для окончательного упорядочения реестра после работы чистильщиков необходимо воспользоваться услугами программ - дефрагментаторов системного реестра. Одну из таких программ (утилиту RegCompress) мы уже видели, другую - посмотрим далее...
Registry Defragmentation
Здесь мы видим выбор разделов реестра для обработки. Программа имеет функции сохранения и восстановления реестра. Следует отметить, что операция дефрагментации сама по себе вполне может стать причиной нарушения настроек и работоспособности системы.
В связи с этим дальнейшее тестирование выполняется по следующему плану:
1. Последовательная чистка программами WWR и EasyCleaner, проверка работоспособности системы и фиксирование полученного состояния реестра как исходного для дальнейшего тестирования (Backup в программе WinRescue). Отбор для окончательной чистки двух программ из пяти обусловлен относительно большим числом записей, получаемых этими программами при сканировании и малым числом записей при повторном сканировании. Другими словами, эти программы оказались наиболее эффективными по критериям и поиска и удаления.
2. Тестирование дефрагментации с проверкой работоспособности. Поскольку одним из критериев хорошего состояния реестра считается время загрузки системы, будем измерять время загрузки секундомером в два приема:
1) От момента нажатия кнопки Запуск до момента появления таблицы ввода пароля
2) От момента ввода пароля до момента загрузки последней прикладной программы из списка Автозагрузки.
Заключительная чистка реестра. Начальный размер реестра - 20 422 656
Сканирование утилитой WWR:
Удалено ключей и параметров: 575.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20 422 656.
Повторное сканирование: 2.
Сканирование EasyCleaner:
Удалено ключей и параметров: 11.
Работоспособность системы и приложений: без замечаний.
Конечный размер реестра: 20 406 272.
Повторное сканирование: 0.
Очевидно, что записи, найденные разными сканерами, могут в значительной степени совпадать. Видимо именно по этой причине EasyCleaner нашел так мало ненужных записей, поскольку основную работу уже проделала утилита WWR. Сложившееся состояние реестра сохранено как исходное для тестирования программ дефрагментаторов.
Утилита RegCompress:
Начальный размер реестра: 20 422 656.
Время загрузки системы: 65+27 сек.
Конечный размер реестра: 20 377 600.
Изменение размера: -45056.
Время загрузки системы: 67+26 сек.
Утилита RegPac:
Начальный размер реестра: 20 377 600.
Время загрузки системы: 65+27 сек.
Конечный размер реестра: 20 377 600.
Изменение размера: 0.
Время загрузки системы: 67+26 сек.
Примечание: Результат от работы этой утилиты нулевой - как в отношении размера, так и в отношении времени загрузки системы.
Программа Registry Defragmentation:
Начальный размер реестра: 20 377 600.
Время загрузки системы: 65+27 сек.
Конечный размер реестра: 20 377 600.
Изменение размера: 0.
Время загрузки системы: 65+15 сек.
Примечание: Совершенно очевидно, что время загрузки системы уменьшилось, по крайней мере на 10 секунд. Сама программа оценила также уменьшение размера реестра примерно на 1%, но принятый у нас способ определения размера реестра этого не подтверждает.
Замечания по условиям проведения тестирования
Результаты тестирования тесно связаны с условиями, имевшими место и при других условиях, очевидно, не повторятся.
Характеристики оборудования:
Intel Pentium 4A, 2800MHz
256 Mb (DDR SDRAM)
HDD ST360015A (60 Gb, 7200PRM)
Windows 2000 Pro SP3
Условия эксплуатации характеризуются следующими моментами:
Сканирование реестра выполняется один раз в неделю утилитой WinDoctor. Реестр - не очень "замусоренный".
В системе зарегистрировано порядка 92 программ.
После каждой деинсталляции прикладной программы выполняется чистка реестра.
Проверка на другом компьютере
По результатам тестирования складывается следующая предпочтительная схема чистки реестра: сканирование реестра утилитой WWR, дефрагментация реестра программой Registry Defragmentation. Проверку этой схемы выполним на другом компьютере. Характеристика этого компьютера приведена далее:
Intel Pentium MMX, 166 MHz
ОЗУ 128 Mb
HDD Quantum Fireball (9.5 Gb, 4400 P RM)
Windows 98 SE
Чистка реестра:
Загрузка до чистки: 140+60 сек.
Сканирование утилитой WWR: 133.
Время сканирования: 63 сек.
Работоспособность: без изменений.
Дефрагментация программой Registry Defragmentation.
Уменьшение размеров реестра: 7%.
Загрузка компьютера после чистки: 80+62 сек.
Загрузка (контроль): 85+55 сек.
Как видим, чистка оказалась эффективной: уменьшился размер реестра, ощутимо снизилось время загрузки компьютера. Результат проверки свидетельствует о том, что основные тенденции, полученные из тестирования, могут быть вполне справедливыми для других компьютеров.
Заключение
Итоги тестирования можно сформулировать следующим образом:
1. Из 6 утилит, принявших участие в тестировании, Work With Registry (WWR) превосходит все другие по следующим признакам:
Относительно большое число ненужных и ошибочных записей, найденных при сканировании реестра
Относительно малое число записей, остающихся после чистки реестра
2. Для того, чтобы чистка реестра привела к видимому эффекту, необходимо после чистки выполнить упорядочение реестра при помощи программы-дефрагментатора.
3. Из 3 программ, принявших участие в тестировании, только одна, Registry Defragmentation, позволила в полной мере реализовать результат чистки реестра. Эта реализация заключается в том, что явно уменьшилось время загрузки системы и, следовательно, система стала работать быстрее.
4. Технология тестирования и критерии оценки результатов, принятые в данной работе, могут послужить основой для проведения аналогичных исследований для подбора собственной схемы чистки и упорядочения реестра и оценки ее эффективности.
Послесловие
Программ, которые могут чистить системный реестр, существует огромное количество: Crap Cleaner, HDCleaner, WinCleaner, BeClean, RegCheck, RegCln, RegFixer, RegOrganizer и многие другие.
Было бы интересно протестировать эти программы в связке с WWR и Registry Defragmentation по технологии, которая была применена здесь. Это расширило бы список протестированных утилит-чистильщиков с сопоставимыми результатами. Отмечу, что все эти программы бесплатны, и рассчитаны для работы со всей линейкой Windows. В качестве дефрагментаторов реестра могут быть протестированы следующие утилиты: RegCompact (бесплатная, и не требует инсталляции); RegDefrag - утилита из пакета Fix-IT Utilites...
Ссылки
RegSeeker: ссылка
Work With Registry: ссылка
EasyCleaner: ссылка
Ultra WinCleaner: ссылка
RegVac: ссылка
Microsoft RegClean: ссылка