Не удалось добавить эти счетчики windows 10

RRS feed

  • Remove From My Forums

 locked

Элементу управления системного монитора не удалось добавить эти счетчики?

RRS feed

  • Вопрос

  • Processor Information(*)%Processor Time

    Processor Information(*)%Interrupt Time

    Processor Information(*)Parking Status

    PhysicalDisk(*)%Idle Time

    PhysicalDisk(*)Avg. Disk Queue Length

    Network Interface(*)Bytes Total/sec

    • Изменено
      Andrey PK
      27 октября 2013 г. 16:25
      ошибка

Ответы

    • Помечено в качестве ответа
      Andrey PK
      28 октября 2013 г. 13:24

Все ответы

    • Помечено в качестве ответа
      Andrey PK
      28 октября 2013 г. 13:24
  • Спасибо Вам. Статья действительно помогла. Но решилось всё намного проще. Простым копированием файлов
    Perfc009.dat и файл Perfh009.dat в папку System32. Файлы были взяты с аналогичной системы. 

  • Все оказалось еще проще, просто выполнил от имени администратора — lodctr /R 

    система сама восстановила необходимые файли и мониторинг заработал!

Содержание

  1. Repairing Performance Counter Error 0xC0000BB8
  2. Rebuild the Windows Performance Counter.
  3. January 2023 Update:
  4. Update server manager settings
  5. «Failed to add PDH counter» on some machines #578
  6. Comments
  7. Исправить ошибку BlinitializeLibrary failed 0xc00000bb в Windows 10
  8. Как исправить BlinitializeLibrary failed 0xc00000bb в Windows
  9. 1. Отключение безопасной загрузки
  10. 2. Восстановить загрузчик
  11. 3. Редактирование ключа реестра
  12. 4. Включение декодирования Above 4G Decoding
  13. 5. SSD диск
  14. Oshi: Не удалось добавить счетчик PDH:
  15. Все 62 Комментарий

Repairing Performance Counter Error 0xC0000BB8

Please enable JavaScript

Last Updated on October 9, 2018

Updated January 2023: Stop getting error messages and slow down your system with our optimization tool. Get it now at this link

  1. Download and install the repair tool here.
  2. Let it scan your computer.
  3. The tool will then repair your computer.

The error 0xC0000BB8 can be recorded by EventSentry if a particular performance counter is unavailable or disabled.

If the counter is disabled, you can use the Extensible Performance Counter List utility to reactivate the counter. The error message looks like this:

“The performance counter “PhysicalDisk(*)Avg. Disk Queue Length” could not be monitored due to error “0xC0000BB8″. Please make sure that the performance counter exists. If you are running a non-english version of Windows then performance counters are named in the language of the Operating System. ”

If you receive the error below in the Server Manager for a server, the user-defined set of data collectors is actually missing. This may be the result of an administrator accidentally deleting the set.

The update of the power meter failed with the following error: The set of data collectors was not found.

Rebuild the Windows Performance Counter.

Follow these steps to rebuild the performance counter:

January 2023 Update:

You can now prevent PC problems by using this tool, such as protecting you against file loss and malware. Additionally it is a great way to optimize your computer for maximum performance. The program fixes common errors that might occur on Windows systems with ease — no need for hours of troubleshooting when you have the perfect solution at your fingertips:

  • Step 1 : Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Step 2 : Click “Start Scan” to find Windows registry issues that could be causing PC problems.
  • Step 3 : Click “Repair All” to fix all issues.

1. Click on Start, then type cmd in the Start search box.
2. Right-click on cmd in the Programs list, then click Run as administrator. If you are prompted to enter an administrator password or confirmation, enter your password or click Next.
3. enter the following line at the prompt, then press ENTER: Lodctr /r
4. You will receive the following message: “Info: Setting the successfully restored performance counter from the system backup memory”.
5. exit the command prompt

Update server manager settings

To solve the problem, proceed as follows:

Connect to the server with the error.
Start the performance monitor (perfmon.exe) and search under Data Collector Sets – User-Defined and Server Manager Performance Monitor. If it exists, right-click it and choose Start. It is very likely that he will not be there, so move on to the next step.
Connect to a server whose performance counters can be monitored.
Open a high command prompt to which you can use this command to export the server manager performance monitor dataset:

logman export -n “Server Manager Performance Monitor” -xml SMPM.xml

Open the generated XML file, delete the entire ID List section and save the file.
Open a high command prompt that does not contain the data collector and import the XML file:

logman import -n “Server Manager Performance Monitor” -xml SMPM.xml

Start the performance counters:

Start logman start “Server Manager Performance Monitor

When you update the server in the Server Manager, performance data should now be available.

Expert Tip: This repair tool scans the repositories and replaces corrupt or missing files if none of these methods have worked. It works well in most cases where the problem is due to system corruption. This tool will also optimize your system to maximize performance. It can be downloaded by Clicking Here

CCNA, Web Developer, PC Troubleshooter

I am a computer enthusiast and a practicing IT Professional. I have years of experience behind me in computer programming, hardware troubleshooting and repair. I specialise in Web Development and Database Design. I also have a CCNA certification for Network Design and Troubleshooting.

Источник

«Failed to add PDH counter» on some machines #578

A lot of «Failed to add PDH Counter» errors are logged when running the test program on my PC, but the same program run fine without any errors on my AWS VM.

exemple of errors logged (trying to access memory informations) :

my system details :
Windows 10 x64 — french
JDK 10.0.2

The text was updated successfully, but these errors were encountered:

Can you run the Windows Performance Monitor ( perfmon.exe ) on your PC and try to add the counters producing the errors, and identify what the correct string for them is?

I can only get the french versions of the counter strings :
«MémoireÉcritures de pages/s» and «MémoireLecture de pages/s».

Also, I can’t add any of the counters related to the swap file («fichier d’échange») in perfmon.

It looks like using only PDH counters for your setup isn’t going to work. For the time being, you should be able to use version 3.5.0 on your PC. I will have to look into adding the older (slower) WMI version as a fallback when counters don’t work.

Thank you for your answer.

I also notice that even if errors are being thrown, all the functions seem to return a correct result. Example : the GlobalMemory#getAvailable() function return the correct amount of free memory on my test setup. Maybe the PDH counters are not needed by this function. In this case, is there a way to disable the error logging ?

For memory, the PerfMon counters are only used for swap file reads/writes and percent usage, so you’re probably getting zero for those results.

I believe you should only get those errors one time, but if you still want to suppress the errors, you can set the log level for the class oshi.util.platform.windows.PerfDataUtil to FATAL in your logging setup.

Hey, I got a similar Problem regarding the CPU, memory and pagefile

Источник

Исправить ошибку BlinitializeLibrary failed 0xc00000bb в Windows 10

Один пользователь прислал мне свою проблема, точнее ошибку с которой он столкнулся. Его компьютер во время первой загрузки не может загружаться и выдает ошибку BlinitializeLibrary failed 0xc00000bb при использовании системы Windows 10. Этот код ошибки означает, что материнская плата восстановила значения по умолчанию из-за проблемы в BIOS. По сути, эта ошибка не относится к самой Windows 10, она может быть и на Windows 7/8.1 с различными конфигурациями ПК.

Как исправить BlinitializeLibrary failed 0xc00000bb в Windows

Ошибка BlinitializeLibrary failed 0xc00000bb может происходить из-за безопасной загрузки, повреждены сектора загрузчика, поврежденный реестр, Above 4G Decoding и SSD диск.

1. Отключение безопасной загрузки

Безопасная загрузка — это дополнительный уровень защиты от вредоносных программ и руткитов, но, как известно, она вызывает множество других проблем, включая эту конкретную ошибку. Если вы используете клонированный SSD/HDD или разогнанные частоты процессора, то вы с большей вероятностью уведите ошибку. В этом случае нужно отключить безопасную загрузку через настройки BIOS или UEFI.

Шаг 1. Как только компьютер начнет загружаться, то нажимайте кнопку F2 или DEL, чтобы войти в BIOS или UEFI.

Шаг 2. В биосе найдите параметр Secure Boot и отключите его, выбрав Disable. Нажмите F10, чтобы сохранить заданное значение. Вы должны понимать, что BIOS у всех разный и не смогу точно указать где этот параметр находится, но обычно он может располагаться в System Configuration, Boot, Authentication или Security.

2. Восстановить загрузчик

Ошибка BlinitializeLibrary failed 0xc00000bb может возникать из-за основной проблемы с загрузкой. Наиболее эффективным способом решения этой проблемы является исправление всей последовательности загрузки с помощью Bootrec.exe — встроенной утилиты Windows, способной исправить основную загрузочную запись, последовательность загрузки и данные конфигурации загрузки.

Шаг 1. Вам нужно создать установочную флешку с Windows и загрузиться с нее. Разрядность x32-x64 и желательно версия, должны быть одинаковыми. Как только дойдете до пункта установки, то нажмите снизу на «Восстановление системы«.

Шаг 2. Перейдите «Поиск и устранение неисправностей» > «Дополнительные параметры» > «Командная строка«.

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

Шаг 3. В командной строке задаем команды по порядку:

  1. bootrec.exe
  2. bootrec.exe /fixmbr
  3. bootrec.exe /fixboot
  4. bootrec.exe /scanos
  5. bootrec.exe /rebuildbcd

Хочу заметить, что команды могут не выполнятся так как ваша система может быть на другом локальном диске F, а вам будет показывать, что на C. Обратитесь к полному руководству, как восстановить загрузчик Windows 10 .

3. Редактирование ключа реестра

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

Шаг 1. Чтобы получить возможность использовать редактор реестра для решения проблемы, вам необходимо загрузить компьютер в безопасном режиме . Если вы не можете загрузить безопасный режим, то загрузитесь с установочного диска (способ 2), запустите командную строку и введите regedit, чтобы запустить редактор реестра.

Шаг 2. В самом редакторе реестра перейдите по пути:

  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
  • Справа найдите параметр ClearPageFileATShudown и нажмете по нему два раза мышкой.
  • В окне параметров задайте ему значение 1 и Шестнадцатеричная. Нажмите OK.

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

4. Включение декодирования Above 4G Decoding

Если вы используете свой ПК для майнинга и используете 2 или более видеокарты, то у вас скорее всего включено Above 4G Decoding или «декодирование свыше 4 ГБ», которое может быть причиной ошибки BlinitializeLibrary failed 0xc00000bb. Функция предназначена для настройки параметров работы 64-битных графических ускорителей, подключаемых к шине PCI-Express.

Шаг 1. Зайдите в BIOS или UEFI и Включите параметр Above 4G Decoding. Этот параметр может находится в разных местах, так как у всех разные производители материнских плат. Примерное нахождение его в Peripherals. В общем, найдите в BIOS Above 4G Decoding и включите его.

На материнских платах EVGA эта функция называется поддержкой EVGA, вместо 4G Decoding.

5. SSD диск

Если вы пытались проверить системные файлы на целостность , проверяли жесткий диск на ошибки , устанавливали заново начисто Windows и ошибка BlinitializeLibrary failed 0xc00000bb появлялась вновь, то скорее всего ваш SSD или HDD вышел из строя. Будет логичным вставить новый и проверить, будет ли ошибка, если нет, то ваш SSD вышел из строя.

Источник

Oshi: Не удалось добавить счетчик PDH:

на v3.9.1 в выводе журнала я вижу следующее. Я не уверен, что это проблема, но похоже, что это происходит случайно, хотя и нечасто. Стоит на более старой машине win7x64. Я не использую ни один из этих счетчиков (насколько мне известно)

02: 56: 38,372 ПРЕДУПРЕЖДЕНИЕ [windows.PerfDataUtil] Не удалось добавить счетчик PDH: Process (_Total) Handle Count, код ошибки: 0xC0000BB8
02: 56: 38,380 ПРЕДУПРЕЖДЕНИЕ [windows.PerfDataUtil] Не удалось добавить счетчик PDH: System Context Switches / сек, код ошибки: 0xC0000BB8
02: 56: 38,380 ПРЕДУПРЕЖДЕНИЕ [windows.WindowsCentralProcessor] Невозможно перечислить экземпляры счетчиков производительности для.

Все 62 Комментарий

Обновите, на более быстром компьютере я снова и снова запускал несколько различных тестов. Некоторое время он работал стабильно, но через несколько часов (около 3) в конечном итоге начал снова и снова регистрировать следующее:

Не удалось получить счетчик. Код ошибки: 0xC0000BBC

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

Есть ли способ сбросить это состояние ошибки, кроме перезапуска jvm? Или, возможно, программный захват этого сообщения об ошибке? Перезапуск jvm, кажется, исправляет это, по крайней мере, временно

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

Я не удивлен, что в более старых версиях окон может не быть некоторых счетчиков, но странно, что они выходили из строя после некоторого периода правильной работы. Интересно, связано ли это с отключением сетевого интерфейса или спящим диском. Если вы можете предоставить мне сообщения журнала, когда возникают эти проблемы, я могу попытаться остановить повторение. Или вы можете попытаться обнаружить проблемный вывод самостоятельно (возможно, 0) и попытаться удалить / повторно добавить счетчики с помощью PerfDataUtil.

Кстати, ошибка 0xC0000BB8 может быть связана с разрешениями.

Ошибка 0xC0000BBC на самом деле была на современном оборудовании, win7 enterprise, исправленном x64, работающем от имени администратора. Возможна ли утечка ресурсов? Я рассмотрю возможность подключения к подсистеме ведения журнала, чтобы зафиксировать состояние ошибки и принудительно перезапустить процесс в это время.

Правильно, первоначальная ошибка BB8 была основана на разрешениях. R2D2 имеет лучший доступ. 😉

Ошибка BBC может быть утечкой ресурсов, но мне нужно больше информации, чтобы попытаться сузить круг.

Вам не нужно подключаться к журналам, просто прочитайте результаты счетчика . счетчики должны монотонно увеличиваться (или, по крайней мере, не уменьшаться), поэтому, если счетчик падает (или до 0, по умолчанию), это явный признак того, что он не работает и может быть удален / добавлен заново. (Для этого вам придется изменить / расширить класс OSHI, хотя он не настроен на простой «сброс» счетчика . возможно, функциональность, которую следует добавить.)

Я совершил # 666, который пытается обнаружить эту ошибку BBC и удалить / повторно добавить счетчик, когда она возникает. Вы можете это проверить?

Есть новости по тестированию?

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

Я снова вижу это с 3.10.0. Помимо спама в журналах, я вижу и другие негативные последствия. Мне просто игнорировать это? Вот сообщение об ошибке (запущено как обычный пользователь и как администратор)

Какой счетчик выдает ошибку? Сработало один раз и перестало работать?

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

есть ли флаг отладки или что-то подобное, что я могу установить, чтобы получить больше информации?

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

  • Процессор (прерывания, переключение контекста, тики системного ЦП, тики ЦП процессора)
  • Датчики (температура)
  • Память (использование памяти, свопинг)
  • Файловая система (открытые дескрипторы)
  • Диски (чтение / запись)

Однако я удивлен, что это единственное сообщение журнала, которое вы получаете. Это предупреждение журнала создается в строке 345 PerfDatautil и отображает значение ошибки 0xC0000BBC (недопустимый дескриптор). Этот метод возвращает это значение ошибки как отрицательное значение вызывающему методу queryCounter () в строке 206. Оно должно перейти в условное выражение в строке 207, а затем проверяться по PDH_INVALID_HANDLE, что составляет 0xC0000BBC .

Ооооооо, теперь я вижу ошибку! Черт возьми, это маленькая подлая ошибка! (И я нашел это, объяснив это вам и / или резиновой утке.) Значение ошибки OSHI в строке 345 (и возвращении) — long . 0xC0000BBC как long — положительное число. Однако как int (константа ошибки) это отрицательное число.

Итак, return -1L * ret; в строке 348 неверно. Нам нужно выполнить поразрядную математику, чтобы получить только 32 наименее значимых бита (что было бы отрицательным числом) и вернуть их.

Чтобы быть более конкретным в отношении ошибки: код ошибки — int , где первый бит подписан. Он возвращается из метода как long который заполняет старшие биты 1 вместо 0. И это не соответствует сравнению 0xFFFFFFFFC0000BBC против 0xC0000BBC.

Есть правильный способ сделать это, в котором я пока не уверен.

Все, что действительно потребовалось, — это удалить -1. Я добавил лучшую условную логику и больше протоколирования, пока занимался этим. Вы можете протестировать SNAPSHOT?

я попробую в понедельник

хорошо, только что протестировал мастер примерно час назад. Он работает нормально, но в журналах есть больше данных, которые могут вам помочь.
Не удалось получить счетчик. Код ошибки: 0xC0000BBC
Удаление и повторное добавление счетчика: Memory Pages Input / sec
Удаление и повторное добавление счетчика: Memory Pages Output / sec.

что странно, это, кажется, происходит только тогда, когда я активно опрашиваю метрики дискового ввода-вывода.

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

Мне интересно, есть ли у нас утечка ресурсов при опросе ввода-вывода диска. Можете ли вы сказать мне конкретно, какой код вы часто используете?

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

немного больше информации для вас. первое сообщение об ошибке

failed to update counter error code 0x800007D5 disabling future updates for Memory

надеюсь, это поможет сузить круг вопросов. Мне было трудно отследить первопричину этого, но мне это удалось. Похоже, это связано с повторным использованием объекта HAL и неким конфликтом между getDiskStores () и getMemory () в Windows. Если я всегда использую новые экземпляры HardwareAbstractionLayer, проблема, кажется, исчезнет.

Этого должно быть достаточно, чтобы воспроизвести его

« »
SystemInfo si = новый SystemInfo ();
HardwareAbstractionLayer hal = si.getHardware ();
while (true) <
hal.getDiskStores ();
hal.getMemory (). getSwapPagesIn ();
>

кстати это было с 3.10.0

Вы опрашиваете в цикле без задержки?

Код ошибки 0x800007d5 — PDH_NO_DATA, что, как мне кажется, подразумевает, что вы опрашиваете счетчик быстрее, чем он может ответить. В общем, я бы не ожидал, что OSHI будет хорошо работать, опрашивая что-либо чаще, чем с интервалом в 1 секунду. А когда вы имеете дело с оборудованием (дисковый ввод-вывод и страницы подкачки), может быть даже больше задержки или аппаратного ограничения в зависимости от драйвера диска.

все еще отображается ошибка BBC с 5-секундной задержкой с тем же фрагментом кода

Но нет ли ошибки, если вы каждый раз используете новый объект HAL?

Что интересно, я попытался повторить ошибку. Без ведения журнала (по умолчанию SLF4J no-op), я думаю, у меня, вероятно, была ошибка, поскольку первое чтение свопа вернуло результаты, а остальные дали 0. Но затем, когда я добавил ведение журнала, чтобы попытаться увидеть, могу ли я увидеть сообщения об ошибках, проблема исчезла .

ха! я использовал этот термин более чем несколько раз. Возможно, это проблема пути к классам. Я могу обойти эту проблему с помощью new SystemInfo().getHardware() при каждом вызове. Я использую адаптер log4j2 для slf4j, если это помогает. Глядя на код, когда создается SystemInfo , он создает экземпляр оборудования и никогда не удаляет его. Поэтому повторное использование объекта HAL ничего не делает для устранения проблемы. Могу ли я предложить добавить зависимость тестовой области для чего-то другого, кроме безоперационной установки slf4j? По крайней мере, так будет легче обнаружить

Причина, по которой создание нового объекта SystemInfo () работает, заключается в том, что он также воссоздает объекты под ним. на самом деле это полезно для отладки, поскольку предполагает, что проблема решена путем воссоздания неисправного объекта: в данном случае WindowsGlobalMemory. Таким образом, мы можем сосредоточиться на конструкторе, который обычно создает новые счетчики.

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

Глядя на это снова. Думаю, я знаю, почему мы наблюдаем симптомы, которые наблюдаем, но еще не уверен в первопричине. Обрисовывая здесь то, что я знаю:

Он работает, когда вы создаете новый экземпляр WindowsGlobalMemory (через новый SystemInfo), поэтому мы знаем, что код в конструкторе «исправляет» то, что сломано; и этот код добавляет счетчики с помощью PerfDataUtil.addCounterToQuery() . Этот процесс добавляет запрос «Память» и сохраняет этот дескриптор в статическом queryMap , добавляет к нему два счетчика и сохраняет результирующие дескрипторы счетчика в статическом counterMap .

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

  • Сообщение об ошибке failed to update counter error code 0x800007D5 указывает на то, что это произошло. Этот код ошибки — PDH_NO_DATA который подразумевает либо:
    • В данный момент запрос не содержит счетчиков. Это возможно из-за состояния гонки, если мы попытаемся быстро прочитать счетчик после его добавления.
    • Запрос может не содержать данных, потому что пользователь не работает с токеном с повышенными правами (см. Поддержка ограниченного доступа пользователей).
  • Итак, в этом случае мы добавляем запрос (Память) к набору disabledQueries .
  • Проблема: в строке 117 WindowsGlobalMemory мы не оцениваем возвращаемое значение перед запросом счетчиков . мы идем дальше и пытаемся прочитать их, даже если они не были обновлены.

Несмотря на отключенные запросы и неудачное обновление, мы запрашиваем два значения счетчика в следующих двух строках (118, 119). Перед оценкой не выполняется проверка набора disabledQueries , поэтому они возвращают любые значения счетчика (без каких-либо обновлений).

  • В случае недопустимого дескриптора этот код удаляет и повторно добавляет счетчик для создания нового дескриптора.
  • Проблема: здесь запрос никогда не обновляется повторно.
  • В будущих попытках обновления значений выполняется попытка обновления запроса, но возвращается 0, потому что он находится в списке disabledQueries , но, несмотря на неудачное обновление, продолжает попытки чтения счетчика (каждый раз удаляя и добавляя).
  1. Не могли бы вы развеселить меня еще одним шагом по устранению неполадок: вставьте задержку между первоначальным созданием экземпляра WindowsGlobalMemory ( hal.getMemory() ) и попыткой чтения данных из созданного экземпляра. Я предполагаю, что 1 секунды более чем достаточно, может потребоваться всего пара миллисекунд. Это поможет подтвердить основную причину проблемы.
  2. Мне нужно исправить код в строке 117 WindowsGlobalMemory, чтобы оценить метку времени при неудачных обновлениях запросов и соответствующим образом выполнить резервное копирование (возможно, отключить счетчики и добавить резервную копию WMI), и определенно не читать счетчики. Или, если №1 оказывается состоянием гонки, возможно, будьте менее агрессивны в «провале» ошибки PDH_NO_DATA и сделайте еще один выстрел после задержки.
  3. Попытка перечитать счетчик после добавления его в строку 128 PerfDataUtil ошибочна и должна быть удалена.

Еще одно замечание . если моя догадка относительно состояния гонки верна, вам не нужно делать new SystemInfo() каждый раз; просто в первый раз, и после этого должно работать исправно. (Мне все еще нужно исправить другие ошибки, но знание состояния гонки поможет выработать лучшую стратегию (повторите попытку или навсегда отключите).)

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

Та же версия, которую вы тестировали, должна работать. Я считаю, что команда hal.getMemory().getSwapPagesIn() all-in-one слишком быстрая, чтобы счетчики были настроены перед запросом . добавьте мой неуклюжий / ошибочный способ работы с неудавшимися запросами, и вы получите симптомы, которые мы наблюдаем . Я могу исправить свои ошибки, но мне очень интересно знать, является ли исходная проблема состоянием гонки, которое мы можем исправить с помощью второго запроса.

Так что просто замените предыдущий тестовый пример
hal.getMemory().getSwapPagesIn();
с

В качестве альтернативы попробуйте следующее:

Я попытался исправить это в # 726, а также в последней версии SNAPSHOT. После того, как вы протестируете обходные пути в предыдущем комментарии, посмотрите, устраняет ли SNAPSHOT вашу исходную проблему!

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

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

проблемы со счетчиками возникают с заявлениями о сне или без них. Это с 3.12.0-SNAPSHOT, но по крайней мере некоторые коммиты устарели. Вот полный код

SystemInfo si = new SystemInfo(); HardwareAbstractionLayer hal= si.getHardware(); hal.getProcessor().isCpu64bit(); while (true)

следующее, как представляется, также устраняет проблему (повторное использование объекта GlobalMemory)

SystemInfo si = new SystemInfo(); HardwareAbstractionLayer hal= si.getHardware(); hal.getProcessor().isCpu64bit(); GlobalMemory mem = hal.getMemory(). while (true)

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

Invalid Class Win32_PerfRawData_Counters_ThermalZoneInformation

Возможно, вы захватили снимок прямо перед его загрузкой . Я набрал свой комментарий, пока он развертывался. Что касается вызова isCpu64bit() , он не имеет ничего общего с запросом «Память». Я не уверен, что это актуально, кроме, возможно, привязки ресурсов счетчика производительности таким образом, чтобы это могло усугубить состояние гонки.

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

Я считаю, что идиома hal.getFoo().getBar() проблематична во многих случаях, когда Foo инициализирует счетчик, а Bar пытается обновить счетчик до его полной инициализации, и я думаю, что последняя версия SNAPSHOT должна решить эту проблему.

только что обновлено, все еще существует последовательность событий, вызывающих проблемы

Я все еще думаю, что есть что-то перекрестное между метриками дискового хранилища и метриками памяти. Может ли это быть возможность? Если я закомментирую один из них, ошибка исчезнет, ​​но при обоих запросах ошибка регистрируется. не удалось получить счетчик 0xc0000BBC, удаление и чтение страниц памяти счетчика input / sec и output / sec

Я также видел проблему с другой комбинацией кода, из-за которой не удалось обновить счетчик 0x800007D5, отключив будущие обновления для памяти.

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

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

Хорошо, я посмотрю, смогу ли я сделать образец приложения для воспроизведения

Привет, у меня похожая проблема с процессором, памятью. Вот информация о стеке исключений.

o.util.platform.windows.PerfDataUtil — не удалось добавить счетчик PDH: System Context Switches / сек, код ошибки: 0xC0000BB8
ohpwWindowsCentralProcessor — невозможно перечислить экземпляры счетчиков производительности для.
java.lang.NullPointerException: нуль
в oshi.util.platform.windows.PerfDataUtil.removeAllCounters (PerfDataUtil.java:227)

[oshi-core-3.8.2.jar! /: 3.8.2]
в oshi.hardware.platform.windows.WindowsCentralProcessor.initPdhCounters (WindowsCentralProcessor.java:246)

[oshi-core-3.8.2.jar! /: 3.8.2]
на oshi.hardware.platform.windows.WindowsCentralProcessor. (WindowsCentralProcessor.java:125)

[oshi-core-3.8.2.jar! /: 3.8.2]
в oshi.hardware.platform.windows.WindowsHardwareAbstractionLayer.getProcessor (WindowsHardwareAbstractionLayer.java:64)

Привет, @TChange. Я вижу, вы используете версию 3.8.2. Исправлен NPE. Можете ли вы попробовать еще раз на самой последней версии (или, желательно, на SNAPSHOT) и посмотреть, что произойдет?

Я меняю версию на 3.11.0 и все работает нормально, спасибо за совет

Источник

Перейти к содержанию

На чтение 7 мин Опубликовано 21 апреля, 2021

Не удалось добавить эти счетчики windows 10

Сообщения: 10692
Благодарности: 2884

Конфигурация компьютера
Материнская плата: MSI H61M-P21 (MS-7680) (B3.0)
HDD: WDC Caviar Green WD10EARS-22Y5B1 ATA Device 1Т (1000 Gb), WDC Caviar Blue WD10EZEX-08M2NA0 ATA Device 1Т (1000 Gb)
Звук: VIA VT1708S VIA High Definition Audio
CD/DVD: ATAPI iHAS122 ATA Device
ОС: Microsoft Windows 7 Home Basic x86, Microsoft Windows 10 Home x64 .
Прочее: Multi Flash Reader USB Device, Logitech HD Webcam C310

——-
Будь джентльменом, если есть удача. А нет удачи, джентльменов нет . Нажми .

Это сообщение посчитали полезным следующие участники:

Конфигурация компьютера
Материнская плата: Asus Sabertooth 990FX R2.0
HDD: SSD 240Gb Kingston SV300S37A/240G
Звук: Realtek ALC892 @ ATI SB900 — High Definition Audio Controller
CD/DVD: PIONEER DVD-RW DVR-212D SATA CdRom Device
Ноутбук/нетбук: —
Индекс производительности Windows: Процессор 8.2 Память 8,2 Графика 8,7 Графика для игр 9,9 Основной жесткий диск 8,0
Конфигурация компьютера
Материнская плата: Asus Sabertooth 990FX R2.0
HDD: SSD 240Gb Kingston SV300S37A/240G
Звук: Realtek ALC892 @ ATI SB900 — High Definition Audio Controller
CD/DVD: PIONEER DVD-RW DVR-212D SATA CdRom Device
Ноутбук/нетбук: —
Индекс производительности Windows: Процессор 8.2 Память 8,2 Графика 8,7 Графика для игр 9,9 Основной жесткий диск 8,0

Сообщения: 10692
Благодарности: 2884

Конфигурация компьютера
Материнская плата: MSI H61M-P21 (MS-7680) (B3.0)
HDD: WDC Caviar Green WD10EARS-22Y5B1 ATA Device 1Т (1000 Gb), WDC Caviar Blue WD10EZEX-08M2NA0 ATA Device 1Т (1000 Gb)
Звук: VIA VT1708S VIA High Definition Audio
CD/DVD: ATAPI iHAS122 ATA Device
ОС: Microsoft Windows 7 Home Basic x86, Microsoft Windows 10 Home x64 .
Прочее: Multi Flash Reader USB Device, Logitech HD Webcam C310

——-
Будь джентльменом, если есть удача. А нет удачи, джентльменов нет . Нажми .

Это сообщение посчитали полезным следующие участники:

Конфигурация компьютера
Материнская плата: Asus Sabertooth 990FX R2.0
HDD: SSD 240Gb Kingston SV300S37A/240G
Звук: Realtek ALC892 @ ATI SB900 — High Definition Audio Controller
CD/DVD: PIONEER DVD-RW DVR-212D SATA CdRom Device
Ноутбук/нетбук: —
Индекс производительности Windows: Процессор 8.2 Память 8,2 Графика 8,7 Графика для игр 9,9 Основной жесткий диск 8,0
Конфигурация компьютера
Материнская плата: Asus Sabertooth 990FX R2.0
HDD: SSD 240Gb Kingston SV300S37A/240G
Звук: Realtek ALC892 @ ATI SB900 — High Definition Audio Controller
CD/DVD: PIONEER DVD-RW DVR-212D SATA CdRom Device
Ноутбук/нетбук: —
Индекс производительности Windows: Процессор 8.2 Память 8,2 Графика 8,7 Графика для игр 9,9 Основной жесткий диск 8,0

Adblock
detector

Понравилась статья? Поделить с друзьями:
  • Не удалось добавить строку в список исключений брандмауэра windows xp sp2
  • Не удалось загрузить драйвер при установке windows
  • Не удалось вычислить индекс производительности windows для этой системы как исправить
  • Не удалось вычислить индекс производительности windows для этой системы error 8
  • Не удалось загрузить драйвер аварийного дампа windows 10