Дело об оценке производительности
Спустя пару дней после Рождества я зашел к Холмсу, чтобы предложить ему прогуляться по зимнему Гайд-парку. Мой визит, похоже, застал его врасплох. Войдя в кабинет, я краем глаза заметил, как Холмс быстрым движением спрятал что-то под стол.
«Что это вы там прячете, Холмс? Уж не рождественский ли подарок вашей тайной поклонницы?», — ехидно поинтересовался я. Мой друг усмехнулся: «Вы почти угадали, дорогой Ватсон! Это действительно рождественский подарок, но только ваш!» И с этими словами он к моему изумлению извлек из-под стола хорошо знакомый мне ультрабук.
Я подарил его на Рождество миссис Хадсон, поскольку та давно мечтала завести кулинарный блог о любимых блюдах Холмса.
- Простите, Холмс, но почему мой подарок у вас и зачем вы прячете его под столом?!
- Видите ли, Ватсон… В системе кое-что не работает, и миссис Хадсон попросила меня исправить это. Она просто не хотела беспокоить вас по пустякам.
Холмс явно что-то скрывал, ибо я сразу сказал миссис Хадсон, чтобы она не стеснялась обращаться ко мне по любым вопросам. «По-моему, вы что-то недоговариваете…», — слегка надавил я и вопросительно посмотрел на детектива.
- Миссис Хадсон просила не говорить вам, так что пусть это останется между нами. Ее племянник приходил вчера и что-то оптимизировал в системе…
- И что же перестало работать после его «оптимизации»?
- Сущая мелочь — не вычисляется индекс производительности. Смотрите!
Странная ошибка
Холмс запустил оценку производительности, и через несколько секунд она завершилась ошибкой.
«Знаете, Ватсон, раз уж вы здесь и проявили такой неподдельный интерес к проблеме, почему бы вам самому не исправить эту ошибку?», — Холмс хитро улыбнулся и торжественно вручил мне ноутбук.
Он тут же демонстративно открыл Вестник OutsideTheBox, самоустраняясь от решения проблемы.
Я сразу же выяснил, что первой жертвой «оптимизации» стал механизм защиты системы. Конечно, Холмс и не подкинул бы мне эту задачу, если бы восстановить систему было так просто.
Текст сообщения говорил лишь о том, что Windows, скорее всего, не знает причины ее появления. В течение следующих 45 минут я убедился в нормальной работе всего оборудования, проверил наличие новых драйверов с помощью Windows Update и перерыл журнал событий в поисках более внятного сообщения об ошибке. Идеи закончились…
«Ватсон, в журнале WinSat есть что-нибудь интересное?», — вывел меня из тягостных раздумий голос Холмса.
В журнале событий мне ничего подобного не встречалось. Встретив мой недоуменный взгляд, Холмс протянул руку за ноутбуком.
О чем рассказал журнал WinSat
Детектив нажал Win + R и быстро ввел путь к файлу:
1 | %WinDir%\Performance\WinSat\winsat.log |
Он прокрутил текст до конца, впился в него взглядом на несколько секунд и с удовлетворением произнес: «Отлично!»
Увеличить рисунок
- Холмс, вы можете объяснить, что вас так обрадовало?
- Это же элементарно, Ватсон! В отчете содержится ключ к нашей загадке!
Он не спеша раскурил трубку и начал объяснять, выделяя строки отчета для наглядности.
- К оценке система должна подойти во всеоружии! Другими словами, электропитание нужно переключить на высокую производительность, но сначала сохраняется текущий план.
1 2 | 3810776 (4080) - winsat\syspowertools.cpp:0983: > Read the active power scheme as '381b4222-f694-41f0-9685-ff5bb260df2e' 3810823 (4080) - winsat\main.cpp:2793: > power policy saved. |
- Вы хотите сказать, что Windows сначала запоминает текущий план, чтобы потом вернуть его обратно?
- Верно, Ватсон! Но дальше-то как раз и возникает проблема. Windows пытается задействовать высокопроизводительный план, но не находит его!
- А как она его ищет?
- Каждому стандартному плану электропитания изначально присвоен свой идентификатор (GUID). Именно на него опирается Windows, пытаясь изменить план.
1 2 | 3811010 (4080) - winsat\syspowertools.cpp:1018: ERROR: Cannot set the current power scheme to '8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c': Переданное имя копии не было распознано поставщиком данных WMI как допустимое имя. 3811010 (4080) - winsat\main.cpp:2810: ERROR: Can't set high power state. |
- Получается, что наш оптимизатор удалил один из стандартных планов электропитания?
- Иначе и быть не может!
Холмс открыл параметры электропитания, и я увидел, что высокопроизводительный план отсутствует. Вместо него был задан второй сбалансированный план.
Причина проблемы стала мне понятна. Но не успел я обдумать решение, как Холмс мне его показал.
Как вернуть план
Детектив открыл командную строку и выполнил в ней:
1 | powercfg -list |
- Смотрите, Ватсон! Команда powercfg показывает то же самое, что и панель управления – в списке нет плана «Высокая производительность».
- Точно!
Увеличить рисунок
Холмс открыл на своем компьютере виртуальную машину с чистой установкой Windows и подключил к ней флэшку. Я сразу понял, что он собирается перенести план «Высокая производительность» в систему миссис Хадсон. Для экспорта плана ему хватило одной команды:
1 | powercfg -export F:\h.pow 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c |
Затем детектив подключил флэшку к ноутбуку и импортировал план:
1 | powercfg -import D:\h.pow 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c |
Увеличить рисунок
Холмс тут же сделал его активным, после чего удалил лишний сбалансированный план электропитания.
«Ну, вот и все, Ватсон!», — улыбнулся он. «Поскольку командная строка у нас уже открыта, давайте запустим оценку производительности из нее»
Холмс выполнил команду winsat formal, и процесс оценки сразу пошел, в итоге завершившись без сучка и задоринки!
- Браво, Холмс! Но что это за таинственный WinSat?
- Ватсон, когда вы в последний раз были в библиотеке?
Как Windows оценивает свою производительность
- Когда вы запускаете оценку из панели управления, выполняется команда winsat formal, вычисляющая индекс каждого устройства. Параметры каждого теста можно менять.
Холмс открыл папку с отчетом WinSat.
- И все эти видеоклипы нужны для оценки работы?
- Для стандартного теста система обходится файлом winsat.wmv, чтобы оценить кодирование и воспроизведение видео на двух платформах – старой DirectShow и Media Foundation, появившейся в Windows Vista.
- Значит, выполняя оценку из командной строки можно указать и другой клип из папки…
- Конечно, Ватсон! А вот оценка производительности процессора происходит немного иначе — файл shell32.dll зашифровывается и расшифровывается с помощью алгоритма AES-256.
Я предположил, что с помощью WinSat можно быстро оценить скорость диска без сторонних программ, и Холмс моментально продемонстрировал мне это.
Увеличить рисунок
«Для оценки последовательного чтения и записи используется ключ -seq, а заменив его на-ran, вы можете измерить скорость случайного доступа», — добавил он.
1 2 | winsat disk -ran -read -drive %SystemDrive:~0,1% winsat disk -ran -write -drive %SystemDrive:~0,1% |
Холмс открыл папку DataStore.
«Здесь хранятся отчеты о тестировании каждого компонента и сводка», — детектив дважды щелкнул сводный XML-файл и продемонстрировал результаты отчета.
«Мистер Холмс, значит, вы все-таки привлекли доктора к лечению проблемы?», — внезапно раздался от дверей кабинета укоризненный голос миссис Хадсон.
Детектив поднялся и с улыбкой вручил ей ноутбук: «Меня трудно застать врасплох, но сегодня такое произошло дважды. Позвольте мне загладить свою вину!» Он бережно достал скрипку из футляра, и через мгновение кабинет наполнился волшебными звуками.
Памятуя о том, что некоторым читателям не нравится серия о Шерлоке Холмсе, напоминаю: я пишу ее для развлечения — вашего и своего :) Надеюсь, что помимо развлечения вы узнаете что-то новое!
А как у вас обстоят дела с производительностью вашей основной системы?Нажмите Win + R и выполните:
control /name Microsoft.PerformanceInformationAndTools |
В открывшемся окне щелкните «Отображение и печать подробных сведений» и сделайтетакой скриншот. Поделитесь ссылкой на него в комментариях!
Комментариев: 72
maxx
23.01.2012 at 10:46 (UTC 4) | Ссылка
Вот уж оптимизировал, так оптимизировал. Интересно, каких результатов хотел добиться «оптимизатор»?
(Цитировать) (Ответить)
Годится! Согласны?
+9
Павел
23.01.2012 at 11:16 (UTC 4) | Ссылка
http://itmages.ru/image/view/398784/fa945321
(Цитировать) (Ответить)
Ваша оценка:
0
Геннадий-2011
23.01.2012 at 11:19 (UTC 4) | Ссылка
Извините, если offtop, но -
«Детектив открыл командную строку и выполнил в ней:
powercfg –list»
Если скопипастить Вашу строчку, то:
C:\Users\…………>powercfg <b>–</b>list
Неправильные параметры — используйте параметр "/?" для получения справки
Если потом удалить «-list» и ввести вручную, то тогда:
C:\Users\…………>powercfg -list
Существующие схемы управления питанием (* — активные)
————————————
GUID схемы питания: 381b4222-f694-41f0-9685-ff5bb260df2e (Сбалансированный)
GUID схемы питания: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (Высокая производительность) *
GUID схемы питания: a1841308-3541-4fab-bc81-f71556f20b4a (Экономия энергии)
Дело в -?
А так — за "расследование" — спасибо!
(Цитировать) (Ответить)
Ваша оценка:
+3
Vadim Sterkin
23.01.2012 at 13:07 (UTC 4) | Ссылка
Геннадий, я уже все исправил.
(Цитировать) (Ответить)
Ваша оценка:
+2
Алексей Г
23.01.2012 at 11:39 (UTC 4) | Ссылка
Да… .Вам попадаются весьма интересные случаи))) У меня максимум 5-минутная загрузка системы из-за qip (точнее его сервиса защиты домашней страницы) и тормознутостьноубука из-за вставленного в кардридер адаптера без флешки.
Стационар
http://cs5966.vk.com/u26504157/123824118/y_7b04fcc6.jpg
Ноутбук
http://cs5966.vk.com/u26504157/123824118/y_95fc50e3.jpg
Да, считаю что если среди пользователей индекс служит как бы «понтом», то для тех, кто обслуживает — это ориентир быстродействия)) Т.е. по индексу можно судить о примерном времени выполнении задачи, и если задача выполняется очень медленно — индекс подсказывает, что так не должно быть.
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 13:12 (UTC 4) | Ссылка
Алексей, да случай был вроде и не сложный, но вовсе неочевидный, особенно с учетом текста ошибки.
Индекс производительность я чаще всего смотрю в… магазинах :)
(Цитировать) (Ответить)
Ваша оценка:
+3
Viktor Golub
23.01.2012 at 11:43 (UTC 4) | Ссылка
Браво, Шерлок! Ой, в смысле Вадим! =)
Великолепная запись!
Узнал для себя кое-что новое о механизме WinSAT, спасибо!
Дела с производительностью моего основного лэптопа выглядят следующим образом:http://www.screenshots.cc/photos/original/54588-jwckj.jpg
Хочу купить себе ещё 1 планку RAM на 4Гб, а со временем и SSD, тогда получится полная нирвана ;)
P.S. Даже не подозревал что кому-то могут не нравится твои записи в стиле о Шерлоке Холмсе :( Но ты этих людей не слушай, пиши ещё в таком стиле, я от этого в восторге!!! :)
(Цитировать) (Ответить)
Годится! Согласны?
+4
Vadim Sterkin
23.01.2012 at 13:14 (UTC 4) | Ссылка
Спасибо, Виктор! Память надо покупать, пока она «в ходу», а то дорогой будет :)
(Цитировать) (Ответить)
Ваша оценка:
+2
Dmitry Razbornov
23.01.2012 at 11:49 (UTC 4) | Ссылка
Вадим, приветствую, хорошая статья, спасибо большое!
Про powercfg прочитал в рамках 70-680 )), очень понравилось.
Вообще, командная строка -моя маленькая слабость, люблю ее использовать, удобно. А про внутренности winsat не знал, спасибо.
http://imageshack.us/photo/my-images/43/72340839.jpg
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 13:16 (UTC 4) | Ссылка
Спасибо, Дмитрий! winsat — интересная штука, она же еще и во время установке используется ;)
(Цитировать) (Ответить)
Ваша оценка:
+1
Dmirtiy Razbornov
23.01.2012 at 11:52 (UTC 4) | Ссылка
надо вводить как обычно, через слеш )) холмс ключик не так вбил )
C:\Windows\system32>powercfg /list
Существующие схемы управления питанием (* — активные)
————————————
GUID схемы питания: 381b4222-f694-41f0-9685-ff5bb260df2e (Сбалансированный)
GUID схемы питания: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (Высокая производител
ность)
GUID схемы питания: a1841308-3541-4fab-bc81-f71556f20b4a (Экономия энергии) *
C:\Windows\system32>
(Цитировать) (Ответить)
Ваша оценка:
+2
Алексей Г
23.01.2012 at 12:05 (UTC 4) | Ссылка
Dmirtiy Razbornov,
Насколько мне известно, в 7-ке (а наверное ещё и в vista ) вместо слэша ‘ / ‘ используется тире. Сделано это, видимо, для упрощения работы. (параметры запуска сразу выделяются, да и сами слэши \ / иногда путаются)
(Цитировать) (Ответить)
Ваша оценка:
+2
Andrii
23.01.2012 at 12:10 (UTC 4) | Ссылка
http://cut.ms/budc
(Цитировать) (Ответить)
Ваша оценка:
+2
Dmitry Razbornov
23.01.2012 at 12:14 (UTC 4) | Ссылка
А я предполагал, что смотря любой синтаксис справки предполагает тире, а команды вводятся со слешем.
Слеши не путал, а вот сейчас с командой и вашем комментарием призадумался.
Что характерно, работает и так
ping /a 8.8.8.8
и так
ping -a 8.8.8.8
Предлагаю экспертов с мировым именем по СМД высказать авторитетное мнение ))
(Цитировать) (Ответить)
Ваша оценка:
+1
Дмитрий Разборнов
23.01.2012 at 12:16 (UTC 4) | Ссылка
А может, у пинга просто синтаксис наследный, как вы говорите, а powercfg команда новая, вишневая (вистовая) )
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 13:16 (UTC 4) | Ссылка
powercfg точно была в XP.
(Цитировать) (Ответить)
Ваша оценка:
0
Александр
23.01.2012 at 12:24 (UTC 4) | Ссылка
«Копипастить» бездумно не стоит. Всегда проверяйте результат копирования текста в буфер обмена перед тем, как пытаться его использовать! Если Вы чаще работали в командной строке, то вышеописанного не произошло бы. :)
(Цитировать) (Ответить)
Ваша оценка:
+1
Vadim Sterkin
23.01.2012 at 13:00 (UTC 4) | Ссылка
По поводу минусов, тире и слэшей. Команда powercfg прекрасно воспринимает как минус так и слэш в качестве ключей.
Просто при конвертации из DOCX в HTML многие «минусы» преобразовались в тире, поэтому скопированные команды не работали. Либо блог сам преобразует их, надо разбираться.
Я исправил текст команд, проблем быть не должно. Что касается остального текста, то на досуге поправлю.
(Цитировать) (Ответить)
Ваша оценка:
+2
1_137
23.01.2012 at 13:39 (UTC 4) | Ссылка
Тут только капслок…
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 13:47 (UTC 4) | Ссылка
Спасибо. Советую вам взять отвертку и выковырять клавишу Caps Lock :)
(Цитировать) (Ответить)
Ваша оценка:
+2
Edd
23.01.2012 at 13:45 (UTC 4) | Ссылка
http://i.imgur.com/qo6DY.png
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 14:12 (UTC 4) | Ссылка
Надо полагать, что стоит SSD :)
(Цитировать) (Ответить)
Ваша оценка:
0
Максим
23.01.2012 at 14:51 (UTC 4) | Ссылка
Вадим, вы как всегда приятно поразили своим рассказом!
Рассказы о Холмсе делают обычно пресные статьи гораздо вкуснее :)
Что касается не возможности выполнить оценку — сам пару недель назад заметил, что она у меня не работает, хотя всегда работала и я ни чего не оптимизировал. А сейчас оказывается опять заработала!
Так что не могу и предположить, что было тому причиной, но вылечила «заряженная» вами статья, товарищ Кашпировский )))
Интересно, у нас с вами одинаковый процессора, но разная оценка
http://s018.radikal.ru/i519/1201/67/cfbec4a5d6e8.jpg
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 15:10 (UTC 4) | Ссылка
Спасибо, Максим!
По поводу различной оценки CPU… Mожно сравнить индивидуальные показатели по каждому из тестов. В XML-отчете формальной оценки есть узел CPU Metrics, там результаты.
Вообще, все параметры командной строки, используемые в стандартных тестах, описаны в схеме Winsat.
Например, для CPU это
<!-- CompressionMetric -->
<!-- argument: cpu -compression -->
<!-- EncryptionMetric -->
<!-- argument: cpu -encryption -->
<!-- Compression2Metric -->
<!-- argument: cpu -compression2 -->
<!-- Encryption2Metric -->
<!-- argument: cpu -encryption2 -->
<!-- DshowEncodeTime -->
<!-- argument: media -input {winsatencode.wmv} -encode {winsat.prx} -->
(Цитировать) (Ответить)
Ваша оценка:
0
freeman440
23.01.2012 at 15:24 (UTC 4) | Ссылка
У меня из-за HDD общая оценка получается низкой, чем могла бы быть))
http://s1.lostpic.net/images/395f52f23e03debed6d0bcbd2d5a79c3.jpg
(Цитировать) (Ответить)
Ваша оценка:
0
Vadim Sterkin
23.01.2012 at 15:29 (UTC 4) | Ссылка
Да, а так ровная конфигурация. Копите на SSD, будет в районе 7 баллов :)
(Цитировать) (Ответить)
Ваша оценка:
0
Валерий
23.01.2012 at 15:57 (UTC 4) | Ссылка
А заодно ещё что-нибудь, что при нажатии мозги лудрит!
(Цитировать) (Ответить)
Ваша оценка:
0
Edd
23.01.2012 at 18:09 (UTC 4) | Ссылка
Vadim Sterkin,
SSD пока в планах) — 2 диска в RAID0 в массиве Matrix RAID
(Цитировать) (Ответить)
Ваша оценка:
0
Edd
Продолжение »