Почему производительность Microsoft Windows со временем снижается?


76

Windows XP / 2003 и более ранние версии (не могу подтвердить Windows Vista, но я подозреваю, что это то же самое), со временем все становится медленнее, так как приложения устанавливаются и удаляются.

Это не проверенное с научной точки зрения наблюдение, а скорее опыт мудрости, основанный на опыте. (Я всегда подозревал, что за этой проблемой стоит реестр.)

Есть ли какие-то конкретные доказательства этой деградации или это просто мое неверное восприятие?


1
Какой у вас таймфрейм? Я предполагал в течение нескольких месяцев, другие предполагают, что короче.

17
Мой опыт работы с Vista заключается в том, что со временем он практически не замедлился. Я сижу на 18-месячной установке, и она все еще такая же медленная, как и при первой установке!
Орион Эдвардс

3
@MusiGenesis - это большая проблема для всех людей, а не только для разработчиков. Вы начинаете спуск по скользкому склону. Это не вопрос, связанный с программированием, не больше, чем автомобиль, на котором вы ездите, связанный с программированием. Это приводит вас к работе, но это все.
Джордж Стокер

2
Следует перенести на superuser.com, потому что это актуально не только для программистов.
Мнемент

1
Я испытываю желание ответить на этот вопрос одним словом - Adobe (такие вещи, как Reader_sl.exe и т. Д.).

Ответы:


67

Я не знаю, что здесь с остальными, я не встречал кого-то, кто не знает, о чем вы говорите. Есть много причин для этого, но некоторые не были определены.

Я начну с лучшего описания для тех, кто не знает. Новая установка Windows будет загружена менее чем за 1 минуту. В течение 6 месяцев время загрузки компьютера не только замедлится, но и весь опыт ОС не будет на одном уровне с чистым списком. Если вы переустановите Windows после 1 года использования, вы обязательно увидите разницу.

Причины замедления объясняются увеличением беспорядка в реестре и фрагментацией диска. Вы заметили, что удаление не помогает, отчасти потому, что не все вычищено из реестра. Рекламная программа может быть проблемой, но обычно это не причина.

Вы можете получить очистители реестра, разморозить и удалить рекламное ПО, но даже это не вернет систему к ее первоначальной скорости, никто не придумал разумного объяснения этому, это просто так.

Обратите внимание, что это не нормальное поведение для используемой ОС, я использую Linux в течение 4 лет, хотя это было не без переустановки, никогда не было увеличения производительности от переустановки или замедление из-за большого количества установки / удаления программ.


1
Мое другое предположение состоит в том, что это может быть связано с процессом обновления Windows и тем, как он исправляется. Это полная гипотеза с моей стороны, основанная на том, что я видел такое поведение на компьютерах, которые работают только в Интернете и получают обновления Windows.
webjedi

4
Фрагментация не является большой проблемой скорости, если вы больше не используете FAT32.

1
@webjed, я знаю, что обновление Windows из новой установки не имеет такого эффекта, но я не удивлюсь, если прогрессивные обновления вызовут эту проблему.
he_the_great

2
Чтобы сделать тест честным, вам нужно установить все программное обеспечение и обновления в новой системе. Базовая, свежая установка Windows ничего не делает, но делает это очень быстро. Интересным тестом было бы иметь приложение зонда реестра и тестировать изменения производительности вместе с ним.
Мистер Фуз

2
Доступ к реестру - это O(n)операция, где nглубина дерева. Наличие огромного реестра с большим количеством беспорядка не вызовет проблем с производительностью. Однако есть две вещи, связанные с реестром, которые замедляют работу. Первый - это фрагментация файлов кустов реестра. Второе и более сильное влияние этих двух факторов заключается в том, что приложения регистрируют обратные вызовы, а также надстройки и модули для загрузки при выполнении определенных операций. Наличие нескольких сотен избыточных записей контекстного меню в реестре действительно замедляет работу.
Полином

5

Нет-нет, это немного гниет ! ;)

Серьезно, установка Windows не сильно ухудшается, если вы вообще ее не используете. Но на вашем компьютере, скорее всего, будет установлено все больше и больше программного обеспечения, многие из которых автоматически настраиваются на запуск в фоновом режиме при запуске. На самом деле можно ожидать, что все компьютеры, независимо от того, какая ОС, будут работать медленнее, так как работает все больше и больше сервисов. Windows, возможно, печально известна тем, что позволяет программам устанавливать себя в «загрузочную папку» или подобное.

Также кажется, что со многими установленными программами происходит очевидная потеря скорости отклика, даже если они не работают; Я не уверен, что является причиной этого, но случайное предположение может заключаться в том, что при каждом отображении меню будет анализироваться немного больше данных, которые субъективно замедляют работу компьютера без существенного снижения средней вычислительной мощности ...


1
Я могу только частично согласиться. Неиспользование компьютера будет поддерживать его одинаковую производительность (нет). Однако этот вопрос не универсален, я держу довольно чистую ОС. Это означает установку и удаление большого количества приложений, Windows - единственная проблема с этим.
he_the_great

8
Это своего рода «трагедия общего достояния». Многие программы настраивают постоянно работающий агент для улучшения собственного времени запуска за счет остальной части системы.
Джесси Вейгерт

«Установка Windows не сильно ухудшается, если вы вообще ее не используете» - я думаю, что это верно для всех компьютеров. Они работают отлично, пока люди не начнут их использовать. Тогда все ставки сняты.
Пол Д. Уэйт

4

Не уверен, что вы спрашиваете без каких-либо подробностей. В старых версиях Windows были некоторые проблемы, но я обнаружил, что XP и Vista довольно надежны, и я могу оставить их на пару недель без перезагрузки и не вижу никаких проблем. Я уверен, что определенные комбинации программного обеспечения могут вызвать проблемы, но сама Windows (по крайней мере, в последних версиях), похоже, не ухудшает производительность.


1
Он говорит о производительности старой установки Windows по сравнению с новой установкой. Не Windows, в течение недели по сравнению с новой загрузки.
Джеймс МакМахон

Что хорошего в окнах без софта?
Труфа

4

С другой стороны, даже чистая переустановка не даст старому компьютеру чувствовать себя так же быстро, как когда он был новым; потому что мы ожидаем все больше и больше. Десять лет назад вы использовали более простые приложения меньшего размера, которые использовали меньше ЦП и ОЗУ, а сегодня, возможно, даже ваш текстовый процессор использует трехмерные эффекты с аппаратным ускорением ...

Это, я полагаю, является причиной номер один (часто не поддающейся измерению) ощущения, что компьютер работает медленнее. (Конечно , на окнах системы может быть измеримыми различиями до и после переустановки. Windows , это сложная система делает много вещей в фоновом режиме, и некоторые процессы не могут сделать достаточно хорошую работы уборки после себя. Windows , которые были критика для многих вещей в течение многих лет, и быть эффективным и не тратить ресурсы не является одним из них); P


1
Это не тот случай, если вы выполняете переустановку, она может показаться не быстрой, но вы получите увеличение производительности по сравнению с переустановкой.
he_the_great

Да, конечно! Я пытался сказать, что есть и психологическое объяснение: самый быстрый компьютер на рынке чувствует себя быстрее, через несколько лет тот же компьютер чувствует себя медленнее, потому что он больше не самый быстрый компьютер (независимо от фактической производительности) ...
Stein G Strindhaug

4

Я использую Windows XP с 2002 года и не могу подтвердить заявления о снижении производительности, которые я часто слышу, за исключением времени загрузки.

Каждые 2-3 года я переустанавливал Windows по разным причинам (перераспределение и отказ от использования менеджера разделов и т. Д.). После чистой установки Windows загружается быстро и чувствует себя быстро. Однако после того, как я установлю все нужные мне программы, время загрузки значительно увеличится, но в остальном нет никаких изменений в «snappiness», использую ли я одну и ту же установку на один день или на один год.

Несколько лет назад я прочитал тест из немецкого компьютерного журнала, в котором сравнивали производительность Windows до и после запуска различных очистителей реестра и практически не обнаружил различий. Я думаю, что снижение производительности происходит из-за установки большего количества программ, особенно программ, которые работают в фоновом режиме. Однако я не верю, что сама Windows ухудшает производительность.


4

При первой установке Windows настраивает дисковые контроллеры для использования самого быстрого доступного режима DMA. Если обнаружены достаточные ошибки, режим доступа отключается. Нет механизма, который пытается использовать более быстрые режимы, если все работает гладко. Со временем режим падает все дальше и дальше, пока весь доступ к диску не перейдет в режим PIO, и компьютер не будет полностью поврежден.

Удаление устройства контроллера заставляет Windows перенастроить устройство, используя самый быстрый доступный режим. Полная переустановка вызывает это.

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

(Конечно, дополнительные сервисы и другие фоновые процессы способствуют более медленному времени загрузки, но идея о том, что производительность программного обеспечения будет ухудшаться без влияния на другие функции, весьма маловероятна)


1
Похоже, у вас может быть настоящая аппаратная проблема. Я не видел такого поведения некоторое время.
GregC

1
+1 - режим PIO является признаком аппаратных проблем, но, тем не менее, он вызывает НЕВЕРОЯТНОЕ замедление. Кроме того, эти ошибки могут накапливаться в течение очень длительного периода времени, что может указывать не на серьезную аппаратную проблему, а на небольшую неисправность, или, возможно, вы несколько раз трясли свой ноутбук.
Ricket

3

Я подозреваю, что для многих это накопление рекламного ПО. Я не провел научное исследование, хотя.


1
Конечно, это будет ОГРОМНАЯ утечка ресурсов, но это не может объяснить все это. Это очень субъективное чувство, что компьютер замедляется без причины, очень старое, задолго до того, как рекламное ПО стало обычным явлением.
Стейн Г. Стриндхауг

Отличный ответ! Каждый раз, когда я получаю звонок «мой компьютер работает медленно, вы можете это исправить» от семьи или друзей, я обнаруживаю, что он заражен рекламным ПО, виджетами для рабочего стола, троянами и т. Д.

3

Было бы полезно немного конкретизировать ситуацию (насколько медленнее получается то, что вы делаете со своей машиной и т. Д.)?

Я ожидаю, что он будет медленнее по мере роста: большинство структур данных работают таким образом.

Убедитесь, что ваш диск дефрагментирован.

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

Проверьте наличие рекламного ПО, вирусов и т. Д.

Как и в случае с ahockley, я обнаружил, что XP и Vista (с последними пакетами обновлений) достаточно стабильны - по крайней мере, так же стабильны, как компьютеры под управлением Linux, которыми я управляю.


если вам нужно перезагрузить Linux-компьютер по любой причине, кроме обновления ядра, вы делаете что-то не так

В обоих случаях обычно обновления ядра приводят к перезагрузке. Теперь, когда я думаю об этом, в Windows они появляются немного чаще. В Linux иногда пользователь блокирует машину до такой степени, что ssh перестает работать. Для меня часто бывает проще просто перезагрузиться в подобных случаях.
Мистер Фуз

3

Вы запросили конкретные доказательства того, что машины с различными версиями ОС MS-Windows со временем становятся более медленными. Я тоже это заметил. Существуют различные причины того, почему это может иметь место.

  1. беспорядок в реестре
  2. более требовательное программное обеспечение
  3. больше приложений загружено в память и работает
  4. вредоносные программы
  5. фрагментация жесткого диска

Вот простая процедура получения запрошенных вами доказательств.

  1. Используя секундомер, время различных операций на конкретной машине, особенно те, которые, как вы считаете, по неподтвержденным данным, замедлились.
  2. Переформатируйте жесткий диск и переустановите достаточно программного обеспечения, чтобы выполнить следующий шаг.
  3. Используя то же оборудование, что и раньше, выполните те же эксперименты по времени

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


3

Ошибки в приложениях и DLL (также известные как ад DLL). MS пытается исправить ошибки, но не может, потому что это сломает слишком много приложений. Таким образом, они создают новую версию DLL с новой функцией -> DLL становится больше и требует больше оперативной памяти, требуется больше времени для динамического соединения и т. Д.

Если вам действительно не повезло, старый код требует, чтобы копия оригинальной DLL была где-то, поэтому MS даже должна дать фиксированной DLL новое имя. Таким образом, все больше и больше ошибок забивают вашу память, ПК переставляет все больше -> медленнее. Другие программы отказались от ада DLL и приносят свои версии DLL, которые они хранят в своем каталоге установки. Теперь вы должны хранить несколько копий одной и той же DLL в оперативной памяти.

Тогда у нас много чего происходит в фоновом режиме. Сканеры вирусов становятся медленнее с каждым днем, потому что им нужно проверять наличие новых подписей. Нежелательная память накапливается в каталоге tmp, заставляя головку диска преодолевать большие расстояния. Для сканирования каталога требуется больше времени.


3

Существуют различные исправления и обновления, которые Microsoft делает для своего программного обеспечения, которые могут играть роль, а также изменения в оборудовании с течением времени.

Например, в исходных требованиях XP указана рекомендация 128 МБ ОЗУ , и я сомневаюсь, что кто-нибудь попытается запустить XP на этом небольшом объеме памяти.

На моих нынешних машинах по крайней мере 2 ГБ памяти, что в 16 раз больше, и обычно я не запускаю XP на машине с менее чем 512 МБ ОЗУ из-за того, как много памяти будет использовано в отличие от операционной системы. все, что он делает при запуске.


3

Реестр Windows, который так или иначе используется почти каждым приложением Windows, может со временем стать очень раздутым из-за ненужных данных. Это особенно актуально при установке и удалении многих приложений. Часто приложения не очищают свои записи в реестре после удаления.

Существуют приложения, которые пытаются очистить реестр, и вы можете сделать это вручную с помощью regedit, но при этом соблюдайте осторожность: уничтожение реестра приложения приведет к поломке приложения и, возможно, операционной системы. Это всего лишь одна из областей, где нужно искать прирост производительности, хотя виноваты могут и аппаратные средства.


Реестр не повлияет на скорость загрузки. Пусковые пункты и услуги делают.
Apache

2

Мой отец все еще использует свою IBM все в одном XT, используя DOS 5.0, WordPerfect 5.1 и Quicken 6.0 для управления своими бизнес-расходами. Сегодня он работает с той же скоростью, что и 6 лет назад, когда я впервые его настроил.

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

Вы можете почти считать это контрольным случаем.


1
И это не окна!
Ола Элдой

2

Другие привели конкретику, но я думаю, что в основном это пример второго закона термодинамики.

В системе происходящий процесс будет иметь тенденцию увеличивать общую энтропию вселенной.

Если вы ничего не делаете для ускорения работы Windows, со временем она будет становиться все более беспорядочной (и, следовательно, более медленной).


1
Вы не можете победить термодинамику

1
Это нонсенс.
JKAbrams

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

2

Со всеми машинами, которыми я пользуюсь регулярно, я не заметил замедления со дня первого использования. Некоторые приложения работают немного медленнее, но обычно это связано с тем, что в новой версии есть некоторые новые функции. В целом нет особой разницы.

Однако машины, на которые я жалуюсь в офисе, обычно имеют огромный список «сервисов» и других приложений, работающих в фоновом режиме. Моя машина не обладает высокими техническими характеристиками, но работает быстро, потому что я уверен, что у меня нет большого списка процессов; в среднем у меня работает менее 50 процессов. Парни в офисе, которые говорят, что «моя машина работает медленно», несмотря на мои запросы, установили то или иное, и вскоре у них запущено ~ 100 процессов (в том числе несколько антивирусов, панели инструментов Yahoo / Google и т. Д.). Даже когда они действительно удаляют вещи, устанавливаемое ими дрянь имеет тенденцию оставлять сервисы рядом или запускать небольшие EXE-файлы.

Если вы испытываете замедление, я бы сказал, что пришло время Пуск> Выполнить> msconfig и отбросить мусор, который загружается, когда вы это делаете.


2

SSD делает долгий путь, чтобы вылечить вялую производительность.

Я полагаюсь на WinDirStat для поиска больших и забытых файлов, каталогов со слишком большим количеством файлов и каталогов со слишком большим количеством каталогов. Кстати, как я узнал о WebsiteCache.

Я использую CCleaner для улучшения использования реестра.

Я использую ProcessExplorer, чтобы найти неплотные приложения.

Я использую TcpView, чтобы контролировать соединения TCP / IP.

Я использую автозапуск для контроля запуска приложений и служб.

Я действительно надеюсь, что когда-нибудь найду способ очистить папку WinSxS (она означает «win-success» или это то, о чем я думаю).

С этими инструментами все хорошо на Windows XP, которая была изначально установлена ​​3-4 года назад.


1

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


1

Вы уверены, что не аппаратная производительность ухудшается?

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


1

Помимо рекламного ПО, другие разработчики приложений хотят, чтобы их загрузчики загружались при запуске Windows, чтобы уменьшить воспринимаемое ими время загрузки приложения, или им нужна фоновая служба для обработки загрузки обновлений и т. Д. Типичные примеры: Microsoft Office, Google Updater , Adobe Acrobat.

Для сравнения попробуйте открыть msconfig и отключить все элементы автозапуска и службы, а затем перезагрузить компьютер.


Автозапуск хорош для этого.
GregC

1

Это связано не только с реестром. Когда приложения установлены, они иногда устанавливают массу ненужного мусора, который, даже если программы не используются, запускается в фоновом режиме при запуске. Когда приложения удаляются, всегда ли они удаляются должным образом, или они оставляют части приложения и файлы позади или оставляют окна, все еще пытающиеся найти, запустить или использовать различные части, которые в настоящее время отсутствуют, или были удалены части, от которых также зависят другие программы? Устанавливайте и удаляйте прикладные программы достаточно часто, и в итоге сама Windows начинает работать нестабильно и нуждается в чистой установке.


1

В первую очередь это связано с фрагментацией диска и увеличением числа служб и фоновых процессов при установке дополнительного программного обеспечения.

Vista решает проблемы фрагментации диска очень умно: настолько умно, что машины Vista, как правило, со временем увеличивают скорость. С другой стороны, установка большого количества сервисов может привести к снижению производительности Vista, так же как и к XP.

Windows 7 также имеет функции Vista, которые предотвращают замедление работы ОС из-за фрагментации.

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


1

Проблема в том, что в Windows нет репозитория для программного обеспечения, в Linux все программное обеспечение организовано с помощью какого-то диктованного программного обеспечения для установки (apt-get и т. Д.), В то время как в Windows каждый человек сам за себя, вы можете установить что угодно, где угодно и кто смотрит каждый, это реестр.

Проблема не в самой Windows, а в том, как приложения используют реестр. В Linux каждый файл программы имеет место, и зависимости обрабатываются вручную или с помощью некоторого главного управляющего программного обеспечения. В окнах человек, который сделал заявление, также должен сделать программу удаления. Ну, обычно вы не хотите, чтобы пользователь удалял ваше программное обеспечение, и если пользователь делает это, вы обычно не заботитесь о том, что происходит с пользователем.


1

Я согласен с тем, что замедление работы Windows является фактом жизни для любой системы Windows (хотя я не использовал Windows Vista или Windows 7, поэтому не могу комментировать)

Помимо фрагментации / повреждения реестра и фрагментации / повреждения жесткого диска (стоит запускать chkdskвремя от времени с параметром F), я думаю, что установка приложений, которые добавляют себя в автозагрузку, но чаще всего как службы, вносит большой вклад в замедление работы. Они занимают время при запуске и берут ресурсы во время общего запуска. Один сам по себе, вероятно, не будет иметь никакого значения, но накопление их со временем делает. Стоит взглянуть на список сервисов, запущенных на вашем компьютере, и изменить их параметры запуска, если вы ими не пользуетесь. Убедитесь, что вы исследуете именно то, что они делают в первую очередь.

Сам по себе запуск может быть довольно сложной задачей. Время от времени стоит дефрагментировать запуск с помощью бесплатного приложения Microsoft, которое называется BootVis . Это будет профилировать вашу машину во время запуска и переупорядочивать (дефрагментировать) все, что нужно загрузить при запуске, чтобы она загружалась быстрее, например, драйверы.

Браузеры также могут со временем загружаться надстройками и панелями инструментов, что также замедлит ваше восприятие системы. Я думаю, что время от времени стоит удалять неиспользуемые надстройки.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.