- Remove From My Forums
Доступные счетчики производительности
-
Вопрос
-
Утилитой добавили свои счетчики производительности.
затем удалили их, добавили снова но с другими названиями но в оснастке Perfmon счетчики по прежнему имеют старые названия и не считаются при их добавлении.
Утилита вносит изменения в HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionPerflib
Perfc009.dat и Perfh009.dat
в реестре записей, который бы соответствовали старым названиям счетчиков не нахожу.
пробовал откатить счетчики.
Скопировал Perfc009.dat, Perfh009.dat с чистой машины и предварительно списав настройки счетчиков в файл командой lodcrt /S:1.txt
загрузил их из файла на проблемной машине. Не помогло. в списке счетчиков как был старый набор, так и остался.
Машину я не перезагружал.
Может утилита Perfmon где то кешируется список счетчиков?
Как наверняка сбросить счетчики до состояния чистой системы?
переустановку ОС предлагать не надо.
Ответы
-
эта статья мне не подходила, потому как мне не хотелось сносить счетчики начисто.
Нюанс восстановления крылся в том, что раздел реестра, отвечающий за настройки служб перечитывается системой только при перезагрузке.
ПОэтому все удалось починить только вручную внеся правки в названия счетчиков в ветке
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrent VersionPerflib09.
подправив значения в переменых Last Counter и Last Help
И исправив значение перемнных First Counter,First
Help,Last Counter,Last
Help в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices<ServiceName>Performance после перезагрузки все заработало как надо.ДО этого или счетчики сохраняли старое называние при добавление в PerfMon или были с новым названием
но не работали.-
Помечено в качестве ответа
20 октября 2012 г. 18:31
-
Помечено в качестве ответа
1. Описание проблемы:
При установке SQL SERVER 2008 Development Edition и Enterprise Edition в Windows Server 2003, Windows XP или Windows 2000 вы столкнетесь с проблемой сбоя проверки «Согласованность куста реестра счетчика производительности».
(рисунок 1)
Сообщение об ошибке при установке:
(рисунок 2)
2. Решение:
Сначала следуйте подсказке справки и откройте http://support.microsoft.com/kb/300956. Справочный документ позволяет сбросить файл счетчика производительности с помощью установочного компакт-диска. Этапы операции более сложны, но я не устанавливал никакого специального программного обеспечения. И подтверждено, что заражения вирусом нет, почему счетчик производительности будет поврежден, поэтому я решил не сбрасывать счетчик производительности в крайнем случае, чтобы не увеличивать влияние проблемы. (Справка MicrosoftФайлы часто отвечают на неправильные вопросы …)
Разумеется, после просмотра документов я обнаружил, что информация о конфигурации счетчика хранится в реестре.
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib]
Шаги:
1. Откройте реестр.
На рабочем столе Microsoft Windows 2003 или Windows XP нажмите «Пуск», «Выполнить», затем введите regedit.exe в поле «Открыть» и нажмите «ОК». В Windows 2000 используйте regedt32.exe для запуска редактора реестра.
2. Найдите раздел реестра.
Найдите следующий раздел реестра:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib]
«Последний счетчик» = dword: 0000566a (22122) (это значение меняется от машины к машине и не является фиксированным значением)
«Last Help» = dword: 0000566b (22123) (это значение меняется от машины к машине и не является фиксированным значением)
(рисунок 3)
На рисунке 3 мы видим, что есть два подпроекта в Perflib.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib04]
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09]
После сравнения было обнаружено, что максимальное значение счетчика, существующего в двух элементах подпапок, отличается
(Рисунок 4) Максимальное значение элемента Counter в Perflib 004 — 22178 (это значение зависит от разных компьютеров, а не фиксированное значение).
(Рисунок 5)
Максимальное значение элемента справки в Perflib 004 — 22179 (это значение зависит от разных машин и не является фиксированным значением).
(Рисунок 6) Максимальное значение элемента Counter в Perflib 009 — 22122 (это значение зависит от разных компьютеров и не является фиксированным значением).
(рисунок 7). Максимальное значение элемента справки в Perflib 009 — 22123 (это значение зависит от разных компьютеров и не является фиксированным).
Очевидно, как показано на рисунке, в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib] на моем компьютере
Значения «Последний счетчик» и «Последняя справка» такие же, как максимальное значение, сохраненное в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 009] , Соответственно, 22122 и 22123 (эти два значения различны для каждого компьютера) и не совпадают с максимальным значением, сохраненным в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 004] из-за этой разницы , Что приводит к сбою проверки «Согласованность куста реестра счетчика производительности» во время установки SQL Server 2008.
Анализ причин:
Поскольку языковая версия Visual Studio 2005 Express в английской версии Visual Studio 2008, которая была установлена ранее, является английской версией, а упрощенная китайская версия для разработки SQL SERVER 2005 Developer Edition была протестирована и установлена. Я удалил SQL SERVER 2005 Developer Edition Simplified Chinese Development Edition, намереваясь установить SQL SERVER 2008 Developer Edition Simplified Chinese Development Office. Из-за несоответствия языка и повторяющейся установки и удаления предполагается, что программа установки работает неправильно во время удаления. Несогласованные значения ключей в реестре
Решение проблем:
Зная причину сбоя, проблема будет решена очень хорошо, поскольку мы используем упрощенную китайскую версию операционной системы, мы должны гарантировать
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib] Значения «Последний счетчик» и «Последняя справка» такие же, как
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 004] Максимальное значение «Счетчик» и «Справка» одинаковы.
Если мы используем английскую версию операционной системы, мы должны убедиться, что
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib] Значения «Последний счетчик» и «Последняя справка» такие же, как
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 009] Максимальное значение, сохраненное в том же самом, нормально
(рисунок
3. Измените раздел реестра.
Измените значение «Последний счетчик» в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib], чтобы сохранить его с максимальным значением «Счетчик» в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 004] Последовательно поменяли на 22178
(рисунок 9)
Измените значение «Последняя справка» в [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib], чтобы оно было таким же, как [HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib 004] Максимальное значение «Помощь» остается прежним, мы меняем его на 22179 здесь
Следует отметить, что при изменении числа основание должно быть выбрано как «десятичное» (по умолчанию — шестнадцатеричное), иначе числа не будут совпадать, и программа установки SQL SERVER 2008 проверит еще раз неудача.
(Примечание. Изменение реестра сопряжено с определенными рисками, которые могут привести к повреждению вашей системы. Сначала сделайте резервную копию реестра, чтобы вы могли восстановить его после проблемы. Чтобы узнать, как создать резервную копию и восстановить реестр, См. Соответствующую тему в базе знаний Microsoft: [322756] Как сделать резервную копию и восстановить реестр Windows)
Тестовый эффект:
Затем закройте редактор реестра и снова начните установку SQL SERVER 2008 Developer Edition Simplified Chinese Development Edition.
(рисунок 10) Тест пройден, ошибок больше нет, можно установить как обычно
На данный момент проблема полностью решена, и решение состоит в простом изменении двух разделов реестра.
Резюме: видно, что когда вы сталкиваетесь с проблемой, если вы не думаете об этом и полностью копируете справочный документ, вы можете получить половину результата с половиной усилий и вызвать много ненужных проблем, потому что справочный документ только указывает нам на общее направление и подготовку справочного документа Люди не могут знать фактическую среду, в которой мы столкнулись с проблемой, поэтому справочный документ очень полезен в качестве справочного материала, но когда мы сталкиваемся с проблемой, наш реальный опыт и практические возможности тестирования также очень важны, чтобы избежать обходных путей.
4、Повторно добавить расширяемый счетчик
Если вы выполните указанные выше действия, но проблема все еще существует, продолжайте«Повторно добавить расширяемый счетчик»Операция, этапы работы в системе XP следующие:
а. Найдите в системе соответствующий файл «расширяемого счетчика»:
C:WINDOWSsystem32perfc009.dat
б) Используйте командную строку cmd, чтобы перезагрузить файл.
Создайте новое окно командной строки cmd, меню «Пуск» -> выполнить> введите cmd> откройте окно командной строки cmd.
Введите соответствующую команду в окне cmd, переключите рабочий каталог в каталог, в котором находится файл perfc009.dat, командаcdC:WINDOWSsystem32
Перезагрузитьperfc009.dat, командаLodctr /r:perfc009.dat
Конкретные связанные операции можно найти в рабочем документе официального веб-сайта Microsoft:
http://support.microsoft.com/kb/300956
Как я упоминал на прошлой неделе, я расскажу о различных проблемах, связанных с установкой SQL Server, и о различных советах по устранению неполадок, чтобы решить эту проблему. На прошлой неделе мы обсуждали, как управлять SQL Server, перестала работать ошибка и прошли различные шаги, чтобы исправить ее. Итак, на этой неделе я обсуждаю еще одну распространенную ошибку, возникающую при устранении неполадок в SQL Server 2008 R2/2012, а именно об ошибке проверки целостности реестра реестра счетчиков производительности . Давайте обсудим небольшой фон этого сообщения об ошибке.
Проверка согласованности кустов реестра счетчиков производительности не удалась
По сути, когда мы пытаемся установить SQL, он запускает некоторые правила, чтобы проверить, отвечает ли ваша система всем требованиям для успешного запуска SQL Server 2008. Во время этого процесса, как вы можете видеть на скриншоте, установка завершится неудачей. Вы не можете продолжать дальше.
Вам не нужен счетчик производительности во всех случаях, в некоторых вы можете просто пропустить его. Во время установки набор счетчиков производительности будет использоваться для мониторинга производительности механизма потока данных.
Согласно TechNet, лучшим примером является « Буферные буферы ». Этот счетчик определяет, будут ли буферы данных временно записываться на диск во время работы пакета. Но, как я уже сказал, некоторые приложения, работающие с SQL, в действительности не нуждаются в них. Он в основном используется для автономного SQL на сервере данных, который требует большого контроля. Поэтому, если вы хотите просто пропустить проверку согласованности счетчика производительности, вы можете начать установку SQL Server со следующего значения переключателя.
C: Downloads setup.exe/ACTION = install/SKIPRULES = PerfMonCounterNotCorruptedCheck
Замените место, где у вас есть установочные файлы.
Восстановить счетчик производительности
После запуска установки с этим значением переключателя следует пропустить этот шаг и продолжить установку. Так что это один из способов обойти это сообщение об ошибке. Другой способ, который также упоминается в Microsoft KB, это перестроить счетчик производительности.
- Нажмите на Пуск и введите CMD
- Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
- Затем введите lodctr /R:PerfStringBackup.INI и нажмите Enter
- Теперь перезагрузите систему и попробуйте снова установить SQL Server.
Я видел эту работающую onolder версию Windows, такую как XP и Server 2003, но я почти не видел, чтобы она работала в операционной системе нового поколения. Все же стоит попробовать. Есть способ Microsoft вручную перестроить Счетчик производительности, пожалуйста, обратитесь к KB300956.
Тогда возникают ситуации, когда сам нужный ключ реестра отсутствует. В таких случаях мы должны найти, какой ключ отсутствует, а затем вручную создать его. Лучший и самый простой способ. Есть небольшое приложение, которое я нашел, кто-то опубликовал на форумах MSDN, которое скажет вам, какой ключ нам нужно создать. Вы можете скачать его отсюда – это консольное приложение разработано Rafael Candido. Я так думаю. Теперь, прежде чем мы продолжим, нам нужно создать резервную копию вашего реестра.
Как только у вас есть ключ, нам нужно пройти регистрацию и создать новый ключ.
- Нажмите на Пуск и введите Regedit
- Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
- Перейдите в HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Perflib
- Затем щелкните правой кнопкой мыши на Perflib и нажмите на новый ключ
- Затем введите значение, которое вы получили при запуске консольного приложения.
- Тогда у вас могут быть другие ключи под Perflib, такие как 009 и т. Д.
- Вам нужно скопировать эту информацию и поместить ее под вновь созданный ключ
Лучший способ сделать это – просто экспортировать один ключ (в моем случае 009), а затем сохранить его на рабочем столе как PCFix.reg. Щелкните правой кнопкой мыши на PCFix.reg и выберите «Изменить». Затем измените 009 на значение, которое вы получили на консоли. Затем сохраните его и закройте. Просто дважды нажмите на ключ, чтобы вступить в силу. После этого просто перезагрузите компьютер, чтобы изменения вступили в силу.
Чтобы завершить один из этих шагов, необходимо решить проблему, с которой вы сталкиваетесь при проверке согласованности кустов реестра счетчиков производительности при установке SQL Server.
Надеюсь, вы найдете эту статью полезной.
-
June 6 2015, 20:58
- IT
- Cancel
Для мониторинга производительности ОС Windows можно воспользоваться возможностью zabbix и его perf_counter функции.
Данные счетчики можно увидеть при вызове perfmon.msc. Например так
На эту оснастку можно добавить счетчики из выпадающего списка
Статья не об этом, а как все-таки добавить нужный счетчик в заббикс.
При создании шаблона столкнулся с проблемой того, что заббикс не понимает буквенного представление данных счетчиков (русский язык). Данные счетчики в системе представлены в буквенном и цифровом виде.
И все это можно найти в любимом реестре Windows:
как написано тут https://www.zabbix.com/documentation/1.8/ru/manual/config/windows_performance_counters
Или же идем сюда
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09 (англ язык) или 019(русский язык)
1
1847
2
System
4
Memory
6
% Processor Time
и муторно переводим имя счетчика в цифру.
У меня получилось следующее. Соответственно по ним и будем создавать мониторинг.
LogicalDisk(_Total)Avg. Disk sec/Write
236(_Total)210
LogicalDisk(_Total)Avg. Disk sec/Read
236(_Total)208
Network Interface(*)Bytes Sent/sec
510(*)506
Network Interface(*)Bytes Total/sec
510(*)508
Network Interface(*)Bytes Received/sec
510(*)898
Network Interface(*)Output Queue Length
510(*)544
PhysicalDisk(_Total)% Idle Time
234(_Total)1482
PhysicalDisk(_Total)Avg. Disk sec/Read
234(_Total)208
PhysicalDisk(_Total)Avg. Disk sec/Write
234(_Total)210
Processor Information(_Total)% Idle Time
238(_Total)1482
Processor Information(_Total)% Processor Time
238(_Total)6
Server Work Queues(*)Queue Length
1300(*)1302
SystemProcessor Queue Length
244
MemoryAvailable MBytes
41382
MemoryCache Bytes
4818
MemoryFree System Page Table Entries
4678
MemoryPages/sec
440
LogicalDisk(_Total)Disk Transfers/sec
236(_Total)212
MemoryPages Input/sec
4822
Итак, мы готовы мониторить данные счетчики.
Для этого предполагается что у вас уже развернут и настроен заббикс агент на сервере и проверено получение zabbix_get инфо с сервера.
Подключаемся на веб-интерфейс заббикса. Выбираем Настройка — Шаблоны — создать Шаблон.
</span>
Сохраняем шаблон и добавляем к нему Item-ы которые мы будем мониторить (item — значение нужного счетчика)
Например добавляем Свободную память ОЗУ.
Настройка элементов данных » Настройка шаблонов » Настройка групп элементов данных » Настройка шаблонов » Настройка элементов данных
Имя — Memory Available MBytes
Тип — zabbix агент
Ключ — perf_counter[«41382»,300] — где 41382 — наш счетчик, 300 — период в сек за который получаем среднее значение.
Тип информации — числовой с плав точкой
Единица измерения — Mbytes
В принципе все. Счетчик добавлен в шаблон. Теперь нужно задать триггеры. Например можно задать такой
Настройка элементов данных » Поиск » Настройка шаблонов » Настройка элементов данных » Настройка триггеров
Порог срабатывания — свободной памяти <3000Мб
{Perf_counter:perf_counter[«41382»,300].last()}<3000
Важность — высокая.
В принципе все. Теперь можно привязать данный тестовый шаблон к узлу.
I’m trying to install SQL Server 2008 R2 Express from this site:
http://www.microsoft.com/express/database/
I have a 64-bit, Windows 7 machine.
I have tried both the 32-bit and 64-bit versions but each fail on «Performance counter registry hive consistency».
How can I fix this so that I can install SQL Server 2008 R2 Express?
Pang
9,344146 gold badges85 silver badges121 bronze badges
asked Aug 13, 2010 at 12:23
Edward TanguayEdward Tanguay
187k311 gold badges704 silver badges1037 bronze badges
You can skip the Performance counter check in the setup altogether:
setup.exe /ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
answered Jun 12, 2012 at 13:00
Fernando NeiraFernando Neira
3,9242 gold badges23 silver badges23 bronze badges
1
Use Rafael’s solution: http://social.msdn.microsoft.com/Forums/en/sqlsetupandupgrade/thread/dddf0349-557b-48c7-bf82-6bd1adb5c694..
Added data from link to avoid link rot..
put this at any Console application:
string.Format(«{0,3}», CultureInfo.InstalledUICulture.Parent.LCID.ToString(«X»)).Replace(» «, «0»);
Watch the result. At mine it was «016».
Then you go to the registry at this key:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib
and create another one with the name you got from the string.Format result.
In my case:
"HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib16"
and copy the info that is on any other key in this Perflib to this key you just created. Run the instalation again.
Just run the script and get your 3 digit code. Then follow his simple and quick steps, and you’re ready to go!
Cheers
TheGameiswar
27.3k8 gold badges56 silver badges91 bronze badges
answered Dec 17, 2010 at 17:39
2
I had this same problem. For me this solution worked for SQL Server 2008 R2 Express.
- Create a shortcut for
SQLEXPRWT_x64_ENU.exe
(This is the name of the
file I used) - Right-click on the shortcut and click «Properties»
- Look for a box under the shortcut tab that says «Target»
- Inside of the target box, add to whatever is already in there this
line:
/Action=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
Of course this does not fix the underlying issue but it is a workaround because this fix also works on the principle of skipping the Performance counter check in the setup. The difference is this method worked for me when doing it through the command line failed.
answered Jan 13, 2013 at 5:46
joelliuspjoelliusp
4368 silver badges18 bronze badges
I had the perf counter reg issue and here’s what I did.
- My exe file was SQLManagementStudio_x86_ENU.exe
- In command line typed in the below line and hit enter
C:ProjectsInstallerSQL Server 2008 Management StudioSQLManagementStudio_x86_ENU.exe /ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
(Note : i had the exe in this location of my machine C:ProjectsInstallerSQL Server 2008 Management Studio)
- SQL Server installation started and this time it skipped the rule for Perf counter registry values. The installation was successful.
TheGameiswar
27.3k8 gold badges56 silver badges91 bronze badges
answered Mar 7, 2013 at 23:59
VengateshVengatesh
811 silver badge2 bronze badges
Ignoring the check results in a corrupted install.
This is the only solution that worked for me:
-
Create a C# console app with the following code:
Console.WriteLine(string.Format("{0,3}", CultureInfo.InstalledUICulture.Parent.LCID.ToString("X")).Replace(" ", "0"));
-
Run the app and get the 3 digit code.
-
Run > Regedit, open the following path:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib
Now, if you don’t have a folder underneath that path with the 3 digit code from step 2, create it.
If you do have the folder, check that it has the «Counter» and «Help» values set under that path.
It probably doesn’t — which is why the check fails.
Create the missing Counter and Help keys (REG_MULTI_SZ). For the values, copy them from the existing path above (probably 009).
The check should now pass.
answered Jan 13, 2017 at 7:50
mcfroobmcfroob
9849 silver badges13 bronze badges
2
This works for me:
Click on Start and type in CMD
Right click and click on Run as administrator
Then from C:windowssystem32 type
lodctr /R:PerfStringBackup.INI
and press Enter
then restart the compurter and retry!
answered Jul 5, 2016 at 13:45
lory105lory105
6,0924 gold badges29 silver badges40 bronze badges
<sqlserverdir>setup.exe /ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
Above worked for me… I did installed it, from my external, using command line interface.
Alp
3,0091 gold badge12 silver badges28 bronze badges
answered Sep 15, 2016 at 15:50
0
The following solution works for me, you can try it:
-
Write to run : regedit
-
Then open
HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows NT -> Perflib
-
Under the /009 and /01F files, right click and select new and choose
«multi string value» named it as «Counter» and do these steps again
to create «Help» named file. (Important!! it is case sensitive) -
Copy contents of «Counter» and «Help» files under the
«CurrentLanguage» to the /009 and /01F files.
answered Oct 21, 2017 at 18:48
elifekizelifekiz
1,42611 silver badges26 bronze badges
Save the execution file on your desktop
Make sure you note the name of your file
Go to start and
type cmd
right click on it
select run as administrator press enter
then you something below
C:Usersyour computer nameDesktop>
If you are seeing
C:Windowssystem32>
make sure you change it using CD
type the name of your file
C:Usersyour computer nameDesktop>the name of the file your copy.exe/ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
answered Sep 19, 2018 at 12:44
Well guys, the solution to the problem is the following:
- click in: Start
- write the word: ejecut
- After, write: regedit
- Open the directory: HKEY_LOCAL_MACHINE
- SOFTWARE
- Microsoft
- Windows NT
- CurrentVersion
- Perflib
- Check the following things:
1) Folder 00A:
2) Counter: the last number
3) Help: the last number
Folder Perflib:
Last Counter: 00A folder´s Counter
Last Help: 00A folder´s Help
Ready, verify the same number in both. success
dcaswell
3,1072 gold badges25 silver badges25 bronze badges
answered Sep 22, 2013 at 1:10
1