Победа над тормозами
Monday, 4. December 2006, 12:29:23
Примерно с месяц назад начал дико тормозить рабочий комп. Он, конечно, весьма посредственный (Celeron 2GHz, 256 RAM, видео на борту), но все равно не настолько чтобы любой муз. плеер зависал на секунд 40 при открытие любого приложения.
Первое на что стал грешить это память, посмотрев что в рабочем режиме свободной почти нет, пихнул туда еще 512 метров, на первый взгляд все стало поживее, но при этом при запуске чего-либо плееры все равно спотыкались, и тормозил мышиный курсор!
Дальнейшая диагностика привела к тому, что вроде как во всем виноват винчестер, так как тормоза начинались при любом обращении к нему. Запустив DiskKeeper увидел что диск сильно фрагментирован, плюс к этому MFT использован на 98%.
Провел дефраг, увеличил MFT.
Вроде опять чуть получше, но все равно спотыкаются плееры. Был организован тест на такой же машине, но с 256 метрами оперативки. На ней все нормально. (Правда у меня winxp, а там win2k, но и памяти у меня уже 768 метров!)
Дальнейшие изыскания показали, что при обращениях к винчу сильно возрастает нагрузка на процессор. Признаюсь, в голову не сразу пришло проверить не работает ли винч в режиме pio - вместо udma5. Но когда перебрал уже почти все возможные варианты, вспомнил и об этом.
Захожу в свойства ide1 и вижу Режим работы udma, если возможно, но при этом текущий режим - pio.
C матами пытаюсь копать настройки в биосе, и в виндах, пытаюсь накатить новые дрова, но ничего изменить не получается, и только потом вспоминаю про такую славную вещь как реестр.
Набираю regedit и правлю парочку записей, перезагружаю и, вуаля - все отлично!
Произошло это скорее всего после какого-нибудь сбоя. Так как у win есть служба обнаружения ошибок, при какой-то ошибке она решила ограничить скорость диска, естественно не поставив никого об этом в известность
Ну и инструкция для столкнувшихся с такой проблемой:
Первое на что стал грешить это память, посмотрев что в рабочем режиме свободной почти нет, пихнул туда еще 512 метров, на первый взгляд все стало поживее, но при этом при запуске чего-либо плееры все равно спотыкались, и тормозил мышиный курсор!
Дальнейшая диагностика привела к тому, что вроде как во всем виноват винчестер, так как тормоза начинались при любом обращении к нему. Запустив DiskKeeper увидел что диск сильно фрагментирован, плюс к этому MFT использован на 98%.
Провел дефраг, увеличил MFT.
Вроде опять чуть получше, но все равно спотыкаются плееры. Был организован тест на такой же машине, но с 256 метрами оперативки. На ней все нормально. (Правда у меня winxp, а там win2k, но и памяти у меня уже 768 метров!)
Дальнейшие изыскания показали, что при обращениях к винчу сильно возрастает нагрузка на процессор. Признаюсь, в голову не сразу пришло проверить не работает ли винч в режиме pio - вместо udma5. Но когда перебрал уже почти все возможные варианты, вспомнил и об этом.
Захожу в свойства ide1 и вижу Режим работы udma, если возможно, но при этом текущий режим - pio.
C матами пытаюсь копать настройки в биосе, и в виндах, пытаюсь накатить новые дрова, но ничего изменить не получается, и только потом вспоминаю про такую славную вещь как реестр.
Набираю regedit и правлю парочку записей, перезагружаю и, вуаля - все отлично!
Произошло это скорее всего после какого-нибудь сбоя. Так как у win есть служба обнаружения ошибок, при какой-то ошибке она решила ограничить скорость диска, естественно не поставив никого об этом в известность
Ну и инструкция для столкнувшихся с такой проблемой:
Параметры контроллера определяются в реестре, по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
Внутри этой ветки находится 4 папки. В том числе и
0000 – отвечает за сам контроллер.
0001 – отвечает за Secondary IDE Chanell.
0002 – отвечает за Primary IDE Chanell.
Выбираем папку которая отвечает за нужный нам канал, и заходим в неё.
Каждому из установленных устройств, соответствуют по два ключа,
MasteDeviceTimingModeAllowed и SlaveDeviceTimingModeAllowed
(или UserMasteDeviceTimingModeAllowed и UserSlaveDeviceTimingModeAllowed,
если режимы выбирались вручную),
определяющие в каком максимальном режиме разрешается работать Master и Slave устройства,
установленные на контроллере, и MasterDeviceTimingMode и SlaveDeviceTimingMode,
которые определяют в каком режиме реально работают Slave и Master устройства.
Для того чтобы разрешить использовать устройство в UDMA режиме,
MasterDeviceTimingModeAllowed (или Slave..., зависит от того к чему диск подключен)
должно иметь значение 0хffffffff.
Если оно будет 0х0000001f, то устройство сможет работать только в PIO режиме.
Убедившись что этот ключ стоит правильно, выставляем MasterDeviceTimingMode,
определяя в каком режиме должен работать устройство.
Возможны следующие варианты (цифры в HEX):
0x10010 режим UDMA Mode 5 (ATA100).
0x8010 режим UDMA Mode 4 (ATA66).
0x2010 режимы UDMA Mode 2 (ATA33).
0x0410 режим Multi-Word DMA Mode 2 и PIO 4.

