синий экран смерти! драйвера шалят - BestComp - компьютерный форум
Старый 15.10.2008, 19:10   #1 (permalink)
Менеджер
 
Аватар для zloy_X@KER
 

Регистрация: 14.10.2008
Сообщений: 312
Поблагодарили 128 раз(а) в 76 сообщениях
zloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to behold
Thumbs down синий экран смерти! драйвера шалят

В этой статье советы по устарнению проблем с драйверами
Начало не предвещало особых труд¬ностей. «Выручай! Не работают USB-порты», — обратился ко мне знакомый. «Хорошо», — ответил я, даже не подозревая, какое приключение меня ждет. Мне предстояло путеше-
ствие в самые недра Windows: только попав туда, можно решить глубоко укоренившиеся проблемы.
Хотите, отправимся туда вместе? Наградой нам станет быстрый и стабильный компьютер, независимо от того, какая Windows на нем установлена — ХР или Vista. В то время как средства тюнинга лишь наводят внешний лоск, программы, описываемые в этой ста¬тье, такие как Verifier и WinDbg, изме¬няют само поведение операционной системы. После этого путешествия вы
с полным правом сможете называть себя знатоком Windows, а «синие экра¬ны» вам больше будут не страшны.
ПРОВЕРЯЕМ ДРАЙВЕРЫ
Приключение начинается
Придя к знакомому, я первым делом оценил внешнюю сторону проблемы: подключил к компьютеру новенький USB-накопитель (на его месте вполне могло быть любое другое новое устройство: именно при подключении свеже-купленных девайсов чаще всего возникают ошибки). Нажимая на кнопку питания, я уже заготовил шутливый ответ, но не успел открыть рот, как ХР завис¬ла. Синий экран. Game over.
Диспетчер устройств. Первый шаг вполне ясен — нужно извлечь из разъ¬ема USB-носитель, поскольку пробле¬мы, судя по всему, возникали только с флеш-драйвами. Так и есть: после это¬го я спокойно загрузил компьютер и увидел «Рабочий стол» Windows. Затем
я открыл «Диспетчер устройств» (ко¬манда «Пуск | Панель управления» или кликнуть правой кнопкой мыши на пиктограмме «Мой компьютер», затем выбрать «Система | Оборудование | Диспетчер устройств») и прочел сводку о проблемах с оборудованием и драйверами. Желтые вопросительные знаки говорят о том, что с соответствующими устройствами что-то не в порядке. Для того чтобы выяснить, что именно, я закрыл «Диспетчер» и снова подключил злополучный флеш-драйв.
Перезапустив «Диспетчер устройств», я увидел, что в строке «Корневой USB-концентратор» появился предупреждающий символ. Кликнув по нему правой кнопкой мыши, я выбрал «Свойства» и в открывшемся окне, в разделе «Состояние устройства» на вкладке «Общие», узнал, что «Устройство отсутствует, работает неправильно или для него установлены не все драйверы. (Код 24)». Очень лаконичное описание. А главное, исчерпывающее. Остается только догадываться самому.
Ошибки с USB-устройствами обыч¬но возникают из-за недостаточной си¬лы тока. Однако в данном случае гипо¬теза не подтвердилась: флеш-драйву нужно 500 миллиампер, и корневой USB-концентратор их обеспечивает.
Утилита Sigverif. Теперь следовало бы проверить USB-драйвер, но «Диспетчер устройств» так пестрел предупре¬ждениями, что я решил для начала от¬делить рабочие драйверы от сбойных. Набрав в командной строке
sigverif
я вызвал утилиту, которая выдает спи¬сок всех драйверов, не имеющих циф¬ровой подписи. Именно такие драйве¬ры первыми попадают под подозрение, поскольку драйверы с подписью до¬сконально проверяются в лаборатори¬ях Windows Hardware Quality. Запустив Sigverif, я нажал кнопку «Дополнитель¬но» и выбрал «Искать другие файлы, не подписанные цифровой подписью».
Поскольку меня интересовали толь¬ко драйверы, я открыл каталог C:\Win-dows\System32\Drivers и нажал кнопку «Начать». Запустилась проверка. Че¬рез некоторое время я получил список драйверов, которые не имели подпи¬си. Чтобы получить более подробные сведения, я выбрал «Закрыть | Допол¬нительно | Ведение журнала [ Про¬смотр журнала» и на всякий случай сохранил лог-файл Sigverif.txt.
Утилита Verifier. Теперь можно было приступать к поиску саботажников — проверить все драйверы без подписей
и выявить дефектные. Для этого нуж¬но открыть командную строку («Пуск | Выполнить») и вызвать программу
verifier
Для большей точности я выбрал «Создать нестандартные параметры Выбрать параметры из списка». В Veri¬fier есть восемь методов проверки, в том числе «Имитация нехватки ресур¬сов». Чтобы не упустить ни одного возможного источника ошибки, я ак¬тивировал все восемь. Следующий шаг — «Автоматически выбирать не¬подписанные драйверы» — выглядит заманчиво, но список драйверов без подписи, обнаруженных Verifier, гора¬здо короче, чем в лог-файле Sigverif. Так что пользы от автоматического ре¬жима мало — лучше вернуться на шаг назад и перейти к варианту «Выберите имя драйвера из списка».
Сверяясь с лог-файлом Sigverif, я до¬бавил недостающие драйверы в спи¬сок Verifier и перезапустил ПК. И тог¬да начались настоящие приключения.
ПОИСК ДЕФЕКТНЫХ ДРАЙВЕРОВ
Путешествие к ядру
Я подключил накопитель к USB-порту, включил компьютер — и снова увидел «синий экран». Знатокам Windows со¬общение «STOP: 0x0000000A_IRQ_ORLESSEQUAL» сразу говорит о том, что дело в проблеме с драйвером. Но с каким? И почему? Ответ можно найти только в ядре Windows, а оно об¬щается с пользователем исключительно через «синие экраны».
Итак, нам придется заглянуть в са¬мые недра ОС. Но прежде надо снова перезапустить компьютер. Нажав «F8», я переключился в безопасный режим и завершил работу Verifier командой
verifier /reset
Теперь тест остановлен и Windows снова загружается, как обычно. Но дальше — несколько сложнее. Прило¬жения работают только во внешних слоях Windows (user mode) и не имеют доступа к ядру. Поэтому ни одно при¬ложение не может выдать «синий эк¬ран». Драйверы, наоборот, располага¬ются во внутренней области (kernel mode) и общаются с ядром Windows напрямую. Если два драйвера одно¬временно обращаются к одному и то¬му же участку ядра, возникает кон¬фликт, о котором ядро и сообщает пользователю через «синий экран» с надписью «IRQ_OR_LESS_EQUAL».
В наших силах добраться до самого ядра, проконтролировать и как бы «сфотографировать» его работу, сохра¬нив данные о его состоянии в файле. Для этого я кликнул правой кнопкой мыши по пиктограмме «Мой компью-тер» и выбрал «Свойства». Затем пере¬шел на вкладку «Дополнительно» и там нажал кнопку «Параметры» в раз¬деле «Загрузка и восстановление». От¬ключил режим «Выполнить автомати¬ческую перезагрузку», выбрал из спи¬ска «Дамп памяти ядра» и два раза на¬жал «ОК», чтобы закрыть все окна.
Поскольку нам нужно «поймать» де¬фектные драйверы «на месте престу¬пления», то есть в момент конфликта, придется спровоцировать еще один «синий экран». Для этого я снова запу¬стил Verifier, в качестве способа про¬верки выбрав «Особый пул». В этом случае драйверам выделяется опреде¬ленная область памяти. Если драйвер выходит за ее пределы, появляется «синий экран», и Windows регистриру¬ет этот эпизод в своеобразном лог-файле — дампе (снимке) памяти ядра.
Прежде чем приступать к поиску проблемных драйверов, нужно сделать еще две вещи. Сначала я перешел в безопасный режим ОС и отключил Ve¬rifier. Чтобы предотвратить запись ин¬формации поверх моего дампа, я снова открыл окно «Загрузка и восстановле¬ние», выбрал «Малый дамп памяти (64 кбайт)» и перезапустил Windows. После этого и начинается охота на де¬фектные драйверы. Чтобы прочитать дамп, нам понадобится утилита De¬bugging Tools for Windows (BestComp - компьютерный форум). После установки файла размером около 15 Мбайт я запустил программу WinDbg («Пуск | Програм¬мы | Debugging Tools for Windows»). Чтобы дамп был отображен правиль¬но, Microsoft рекомендует также загру¬зить файлы символов. Но это целых
170 Мбайт, поэтому я выбрал в меню WinDbg команду «File | Symbol file path» и в открывшемся диалоге ввел
SRV*C:\Symbols*BestComp - компьютерный форум download/symbols
Теперь WinDbg скачает из Интернета только те символы, которые необходи¬мы только для этого дампа памяти ядра. Выбрав «File | Open Crash Dump», я загрузил дамп в Debugger и нажал «Yes», когда программа спросила «Save information for workspace?». Открылось окно «Command» с первой информа¬цией. Особый интерес здесь представ¬ляет строка «Probably caused by». Если там есть файл с расширением SYS, — драйвер разоблачен. Шестнадцатерич-ные числа после «Bugcheck» нам зна¬комы: они те же самые, что и на синем экране после слова «STOP:». Однако WinDbg не сообщил название драйвера, и я попробовал узнать по¬дробности с помощью команды
ianalyze -v
Полученная характеристика содер¬жала уже знакомое название ошибки, «IRQ_OR_LESS_EQUAL». Пролистав экран вниз до слов «STACKJTEXT», я обнаружил названия и адреса функ¬ций ядра, которые вызывались перед сбоем. Если названия этих функций в верхних строках начинаются не с «nt!», это подозрительно: речь идет не о нор¬мальных функциях ядра. Такое случа¬ется, когда драйвер конфликтует со службой Windows, которая также име¬ет право обращаться к ядру. Однако мне снова не повезло: уже первая строка под «STACK_TEXT» начина¬лась не с «nt!». Впрочем, рано падать духом. Вводим команду
Ithread
рассчитывая получить список, пока¬зывающий, какие именно данные бы¬ли перепутаны при сбое. Наконец-то удача! WinDbg выдала этот список. Я быстро скопировал оттуда шестнад-цатеричное число в командную строку и добавил перед ним команду «!irp»:
!irp f8978ffc
Выяснилось, что при сбое по выше¬указанному адресу f8978ffc был сохранен пакет запроса ввода/вывода (I/O Request Packet, IRP). Два драйвера, на¬звания которых я прочел ниже, попы¬тались вызвать этот пакет одновремен¬но, что и привело к сбою. Теперь мож¬но возвращаться в Windows.

Последний раз редактировалось zloy_X@KER; 15.10.2008 в 19:18.
zloy_X@KER вне форума   Ответить с цитированием
Старый 15.10.2008, 19:13   #2 (permalink)
Менеджер
 
Аватар для zloy_X@KER
 

Регистрация: 14.10.2008
Сообщений: 312
Поблагодарили 128 раз(а) в 76 сообщениях
zloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to beholdzloy_X@KER is a splendid one to behold
По умолчанию

ПРОДОЛЖЕНИЕ
Возвращаемся на поверхность
Вернувшись на «Рабочий стол», я про¬верил драйверы устройств, только что обнаруженные с помощью WinDbg, программой DriverMax. Инсталлиро¬вав и запустив эту программу, я выяснил, какая версия дефектных драйве¬ров используется, с помошью команды «Updates and Identification | Check for driver updates». Оказалось, что драйвер USB-накопителя устарел. В DriverMax есть кнопка для скачивания нового драйвера, однако, кликнув по ней, я получил сообщение в духе «Мы работа¬ем над этим». Очень обнадеживает, что и говорить. Придется зайти прямо на страницу разработчика.
Драйвер номер два — это вообще осо¬бый случай. DriverMax его не нашла; не помогла даже функция «Identify un¬known hardware». Google сообщил, что этот драйвер относится не к аппарат¬ным компонентам, а защите от копи¬рования под названием Starforce. Те¬перь понятно, почему его так сложно обнаружить. Волей-неволей пришлось скачивать с сайта разработчика Star-force программу SFUpdate и инсталли¬ровать последнюю версию драйвера.
РЕЗЕРВНОЕ КОПИРОВАНИЕ ДРАЙВЕРОВ
Продолжение следует?
И еще кое-что напоследок. В DriverMax есть функция, позволяющая скопиро¬вать все имеющиеся драйверы в одну папку — так, на всякий случай. Если я вдруг снова увижу «синий экран», то у меня, по крайней мере, будет под рукой полная коллекция рабочих драйверов.
Итак, я выбрал в DriverMax функ¬цию «Export Drivers» (в «Driver ¬tions»). Открылся пошаговый ассис¬тент. Впрочем, слепо полагаться на него не стоит: как видно в «Settings», DriverMax по умолчанию копирует и драйверы давно удаленных устройств. Поэтому я сразу отключил режим «Show phantom devices». Затем, клик¬нув по «ОК», выбрал все оставшиеся драйверы («Select All») и запустил процесс копирования.
Напоследок я переписал инсталляци¬онный файл DriverMax (drivermax.exe) в папку с драйверами и скопировал все это на внешний носитель. Теперь после переустановки Windows я смогу импор¬тировать все драйверы из одной папки. Увлекательное путешествие в недра Windows надо признать успешным!
zloy_X@KER вне форума   Ответить с цитированием
Спасибо от:
BestComp (11.01.2009)
Старый 11.01.2009, 07:46   #3 (permalink)
 
Аватар для BestComp
 

Регистрация: 03.10.2008
Сообщений: 511
Поблагодарили 362 раз(а) в 240 сообщениях
BestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспоримаBestComp Репутация неоспорима

Награды пользователя:

По умолчанию Устранение неисправностей в драйверах устройств

Определяем, диагностируем и решаем проблемы с DPC


Со временем производительность системы Windows, как известно, ухудшается. Многие проблемы производительности можно решить посредством удаления ненужных программ из меню автозапуска, дефрагментации жесткого диска и очистки реестра. Однако недавно у меня возникла ситуация, когда ни один из этих способов не срабатывал. Ожидая, когда заработает мое приложение, я смотрел на экран своего компьютера с Windows XP, на котором вращались песочные часы, и думал, почему процесс идет так медленно. Я нажимал Ctrl+Shift+Esc, чтобы появилось окно Windows Task Manager, и щелкал на вкладке Processes. Я уже был готов прервать этот процесс, но не нашел ничего, кроме System Idle Process наверху появившегося списка. В результате поисков в Internet я обнаружил, что на те же неполадки в блогах и форумах жалуются многие. Я нащупал ключ к разгадке, когда кто-то упомянул, что проблема исчезла после того, как был обновлен драйвер или произведена замена дискового контроллера. Я сделал вывод, что проблема производительности была, вероятно, связана с драйвером, хотя полной уверенности в этом не было. После того как я с большим трудом осилил несколько статей, посвященных устройству драйверов, ситуация прояснилась.
DPC, снижающий производительность системы Windows, создает проблемы не только на компьютерах, но и на серверах. Если разобраться, как диагностировать и решить проблему DPC, можно сэкономить несколько часов, которые в противном случае придется потратить на поиск неисправностей. Кроме того, возможно, удастся избежать переустановки или перенастройки неисправного компьютера или сервера.

Выявление проблемы


Чтобы определить проблему, необходимо кое-что знать о DPC и о том, как выполнить стартовую проверку в Windows Task Manager. DPC — это часть инфраструктуры управления прерываниями Windows. Обработка прерывания состоит из двух компонентов, причем оба они являются частью драйвера устройства. Первый компонент — это Interrupt Service Routine (ISR), который позволяет аппаратному обеспечению быстро достичь устройства, чтобы обработать прерывание. На самом деле драйвер выполняет процесс обработки прерывания позже, посредством постановки в очередь рабочего потока от созданного DPC объекта очереди. Это означает, что драйвер выполняет свою работу по инициации аппаратного устройства в DPC. Поскольку и ISR, и DPC созданы для драйвера производителем, плохо написанный драйвер режима ядра может оказать негативное влияние на быстродействие всей системы.

Столкнувшись с проблемой производительности, можно задействовать Windows Task Manager, чтобы посмотреть, в чем причина — может быть, все из-за DPC? Когда проблема производительности связана с DPC, на вкладке Performance видно, что центральный процессор используется активно, но никаких процессов-виновников на вкладке Processes показано не будет. Вы также увидите, что System Idle Process показывает активное использование процессора на вкладке Processes, что типично для системы в состоянии бездействия.

System Idle Process обычно не оказывает значительного влияния на производительность системы. Однако, когда существует проблема DPC, ядро операционной системы будет использовать значительную часть процессорного времени, что повлияет на производительность системы. Вы можете точно это узнать, выбрав вкладку Performance и пункт Show Kernel Times в меню View. Нижняя, красная часть графика CPU Usage показывает время центрального процессора, которое используется ядром Windows. Образец графика CPU Usage на экране 1 показывает, что некий процесс, загруженный ядром, монопольно использует процессор.



Диагностика проблемы



Ядро может монополизировать процессор по нескольким причинам, поэтому следующий шаг — это диагностика проблемы для определения того, действительно ли DPC являются причиной активного использования процессора, и если так, то какое устройство задействует эти DPC. Можно применять следующие три инструмента, чтобы проникнуть вглубь проблемы и получить все необходимое для диагностики.
Чтобы определить, действительно ли DPC являются причиной активного использования процессора, можно задействовать Performance Monitor или Process Explorer. Я считаю, что для этой цели Process Explorer подходит больше, чем Performance Monitor, однако рассмотрим оба варианта.

В Process Explorer легко увидеть, действительно ли DPC являются причиной большого процента использования процессора. В главном окне утилиты процесс System Idle Process распадается на три группы: Interrupts, DPC и System. Двойной щелчок по DPC вызывает страницу свойств DPC, на ней нужно выбрать вкладку Performance Graph. Верхние два графика показывают текущую загрузку процессора и историю его использования процедурой DPC (как показано на экране 2).



Под объектом Processor в Performance Monitor находится счетчик, названный %DPC Time, который показывает процент времени, затрачиваемый процессором на получение и обслуживание вызовов DPC. Сравнивая этот процент с показателями графика%Processor Time, можно выяснить, какая часть общего времени использования процессора расходуется потоком от очереди DPC (см. экран 3).



После того как Process Explorer или Performance Monitor подтвердят, что время процессора непропорционально расходуется активностью очереди DPC, можно использовать Kernel Profiling Tool для определения того, какой драйвер вызывает проблемы. Этот инструмент командной строки перечисляет модули ядра, включая драйверы устройств режима ядра и процент общего времени ядра, который они потребляют.

У Kernel Profiling Tool много параметров, которые вы можете использовать, но для наших целей ее можно запускать безо всяких параметров, только набрав
После запуска этой команды вы сначала получите сообщения, показанные на экране 4. Нужно подождать примерно 30 секунд, затем нажать Ctrl+C. Пока Kernel Profiling Tool работает, обратите внимание на активность DPC в Process Explorer или Performance Monitor, чтобы убедиться, что использование процессора во время замера остается постоянно высоким.



На экране 5 показана выдержка из второй части результатов замера. Как можно увидеть в разделе Results for Kernel Mode, проблемный драйвер — это intelppm, драйвер процессора Intel, который является частью операционной системы. Этот драйвер управляет процессором с целью уменьшить потребление энергии и продлить жизнь батареи. Драйвер процессора Intel, возможно, и не является причиной неполадок. Проблема может быть в функциональном несоответствии этого драйвера и другого оборудования или драйверов, установленных на моей системе. В любом случае, он не нужен на настольном компьютере, где время работы аккумулятора не представляет никакого интереса.



Решение

Варианты решения проблемы DPC — это переустановка, обновление и остановка неисправного драйвера. Какой из вариантов выбрать, зависит от драйвера. Например, вы не можете остановить драйвер, который требуется системе, или обновить драйвер, когда новых версий не существует. В моем случае, поскольку драйвер процессора Intel не был необходим для системы, я решил остановить его.

Существует несколько способов остановки драйверов, включая реестр, Device Manager и Recovery Console (RC). Я выбрал остановку драйвера процессора Intel через реестр. Сведения о том, как остановить драйвер через RC или Device Manager, приведены во врезке «Дополнительно».

Данные реестра для драйвера процессора Intel находятся в разделе HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServicesintelppm. Чтобы остановить этот драйвер, я изменил значение параметра Start с 1 на 4. В таблице показаны значения Start, которые можно использовать для разделов ниже раздела HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices. Для получения более подробной информации о том, как читать и изменять значения в этих разделах, обратитесь к статье Microsoft «CurrentControlSetServices Subkey

Как часто напоминают нам специалисты Microsoft, важно сделать резервную копию реестра, прежде чем редактировать его. Также важно перезагрузить компьютер до и после редактирования реестра. Перезагрузка до изменений нужна для того, чтобы убедиться в создании конфигурации Last Known Good Configuration на случай, если понадобится восстановить реестр (Last Known Good Configuration включает все, что есть в разделе CurrentControlSet, и обновляется после успешной модификации реестра). Перезагрузка после изменений необходима для того, чтобы изменения вступили в силу.
__________________
BestComp вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.



Часовой пояс GMT, время: 05:13.

–>
-Продам бонус коды на World of Tanks! Дешево! andrecheap
-Работа по всей территории РФ honeyrabota
-Распродажа бонус кодов World of Tanks! gold10kwot
-Синий экран weiter
-отдых в Таиланде vasiliykr1980
-Дизайнер интерьера vasiliykr1980
-Распродажа бонус кодов World of Tanks! buy10kgold
-Распродажа бонус кодов World of Tanks! salegoldwot
-Как убрать Администратора на компьютере, если ты User? wiklis
-Распродажа бонус кодов World of Tanks! goldsalewot
-Распродажа бонус кодов World of Tanks! skameykin22
-Распродажа бонус кодов World of Tanks! Только сегодня! andreybkwot
-прикол в маршрутке Olegon
-Как вы экономите? mnogosnega
-Взлом телефонов (известный способ) Rikki75758
-Игроманы вам сюда Goofy
-Открытие любого сайта в обход блокировки Роскомнадзора? alabaa
-Распродажа бонус кодов World of Tanks! salebonuscodes
-Не включается компьютер. katenka141
-Не запускается ничего кроме контакта. Lena2017
-Вакансия: Системный администратор Linux vkarabedyants
-подскажите какой ноут взять? Titkin
-Бесплатный и полезный софт matrix
-Лучший бесплатный софт matrix
-Лучший бесплатный софт matrix
-Игра Дом 2:Построй любовь Mazfachka
-Игры в нашей жизни Pancher5
-Origin. Распродажа отличных игр! Скидки до 75% Sergey
-Устройство на работу ! Nikolaz
-Бабы. Руководство по эксплуатации Nikolaz
-Ключ для Wondershare Dr.Fone shevtsulka

–> Ваша реклама может быть здесь... пишите...

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

Перевод: zCarot
Время генерации страницы 0.15459 секунды с 18 запросами