Share via

Log flooding CounterThreadProc: MIFs/min counter missing

Dmitry Shura 0 Reputation points
2026-03-04T08:00:45.5933333+00:00

On a clean installation of Microsoft Configuration Manager Current Branch 2509 on Windows Server 2025, the component SMS_INVENTORY_DATA_LOADER continuously logs-bombing:

 

CounterThreadProc: MIFs/min counter missing

 

The issue persists despite performance counters being successfully registered in Perflib.

 

The behavior strongly indicates a failure in PDH enumeration / Perflib provider exposure, not a configuration or permission issue.

Environment

  • ConfigMgr CB 2509 Primary Site
  • Windows Server 2025 Datacenter (clean install)
  • SQL Server 2022
  • English OS
  • English ConfigMgr (RU language pack installed but not default)
  • No WSUS/SUP role
  • VMware VM

Observed behavior

ConfigMgr

Continuous logging every second:

CounterThreadProc: MIFs/min counter missing

$$<SMS_INVENTORY_DATA_LOADER>

 

Component otherwise works normally:

  • Hardware inventory processed
  • DB updated
  • No backlog

Windows Performance Counter State

  1. Provider successfully registered

lodctr /q:SMS_INVENTORY_DATA_LOADER

 → Performance Counters (Enabled)

 

Registry:

HKLM\SYSTEM\CurrentControlSet\Services\SMS_INVENTORY_DATA_LOADER\Performance

 

Library = smsexec.exe

Open    = OpenPerfData

Collect = CollectPerfData

Close   = ClosePerfData

 

2) But counters not accessible through PDH

typeperf "\SMS Inventory Data Loader\MIFs Processed/minute"

→ Error: No valid counters.

typeperf -qx | findstr "SMS Inventory Data Loader"

→ Not listed

 

Conclusion

Windows believes the counter provider is installed, but PDH cannot enumerate or open the counter set.

ConfigMgr then fails to initialize PerformanceCounterMgr and logs missing counters continuously.

 

Attempted remediations

ConfigMgr side

  • Site Reset (Repair)
  • SMS_EXECUTIVE restart
  • Server reboot = No change

Counter registration

Manual recreation:

reg add HKLM\SYSTEM\CCS\Services\SMS_INVENTORY_DATA_LOADER\Performance

lodctr SMS_INVENTORY_DATA_LOADER.ini

winmgmt /resyncperf

Result:

  • Registration succeeds
  • Counters still inaccessible

PerfSetup

perfsetup.exe /install /siteserver:<SiteServer> SMS_INVENTORY_DATA_LOADER .

Result:

Passed OS version check.

Error: InstallSMSObjectAndCounterKeySettingsIntoRegistry() could not get the "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMS_INVENTORY_DATA_LOADER\Performance" registry key; error = 6 (0x6).

*Performance counter setup completed; exit code = 1000.*

Full Perflib rebuild

lodctr /R

SysWOW64\lodctr /R

winmgmt /resyncperf

reboot

Reinstalled counters again → same result

Permissions

Verified:

  • SYSTEM Full Control
  • Administrators Full Control
  • Inheritance enabled
  • Even tested Everyone Full Control

No change

 

Technical analysis

The issue appears to be:

Provider successfully registered in Perflib BUT NOT EXPOSED THROUGH PDH ENUMERATION

 

Meaning:

Perflib registry → OK PDH consumer layer → fails to enumerate provider

ConfigMgr component calls into performance counter API (likely PDH or perflib consumer wrapper), fails to open object → logs missing counter every second.

I found another identical report on red dit forum. ( just search by title "PerformanceCounterMgr is not initialized" )

Same symptoms immediately after installation on Server 2025.

Also create topic on feedbackhub but nothing: https://feedbackportal.microsoft.com/feedback/idea/bef0bf34-000b-f111-83da-7c1e5292c259

Is this a known incompatibility between:

Windows Server 2025 performance counter subsystem (Perflib/PDH) and ConfigMgr smsexec performance providers

Specifically:

Why can a counter provider be successfully registered via lodctr yet remain invisible to PDH enumeration and ConfigMgr?

 

Is this:

  • a Server 2025 regression in performance counter infrastructure
  • or a ConfigMgr provider compatibility issue

And is a fix planned?

Windows for business | Windows Server | Performance | Other
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. VPHAN 24,045 Reputation points Independent Advisor
    2026-03-04T09:25:49.5266667+00:00

    Dmitry Shura

    While waiting for Microsoft to patch the underlying enumeration failure between the executive service and the performance helper library, you need to manage the immediate symptom of log-bombing to prevent excessive disk activity. Since the hardware inventory is processing perfectly fine, you can safely modify the tracing behavior for this specific component to handle the rapid write cycle. Navigate to HKLM\SOFTWARE\Microsoft\SMS\Tracing\SMS_INVENTORY_DATA_LOADER in your registry and locate the MaxFileSize value. Increasing this data value significantly will allow the log file to grow larger before it rolls over, reducing the constant file creation churn on your storage array while the missing counter error continues to generate every second.

    You have documented the registration and the exact failure point flawlessly, leaving no doubt that this is an operating system level regression and not a misconfiguration on your part. Keep your site server updated with the latest cumulative updates for Server 2025 and Configuration Manager Current Branch 2509, as this specific provider architecture fix will likely be bundled into a standard release cycle.

    Hope this helps :)

    VP

    0 comments No comments

  2. VPHAN 24,045 Reputation points Independent Advisor
    2026-03-04T08:39:34.5733333+00:00

    Hi Dmitry Shura,

    Your extensive troubleshooting isolates the problem to a communication breakdown between the Windows Server 2025 performance counter subsystem and the Configuration Manager provider architecture. You have successfully ruled out local corruption and permission issues, proving the repository is intact since the provider registers correctly in the raw Performance Library layer. The failure occurs entirely at the Performance Data Helper consumer layer, which acts as the bridge applications use to query these metrics. In Windows Server 2025, a strictness change or regression is preventing this helper layer from enumerating the specific providers used by the Configuration Manager executive service.

    Because the operating system recognizes the counters in the registry under the HKLM\SYSTEM\CurrentControlSet\Services\SMS_INVENTORY_DATA_LOADER\Performance key but refuses to expose them to enumeration requests, the Configuration Manager component fails to initialize its internal manager and continuously logs the missing counter error. This represents a core compatibility issue between the Server 2025 subsystem and the current branch of Configuration Manager rather than a local misconfiguration. Attempting to forcefully inject the counters via undocumented registry reflection or modifying binaries could destabilize your site server and violate support boundaries.

    Since the core component still processes hardware inventory and updates the database normally, the immediate impact is thankfully limited to severe log bloat. You will need to wait for an official product update from Microsoft, likely delivered as a Configuration Manager hotfix or a Windows Server 2025 cumulative update, to restore full compatibility between these architectural layers. Opening a formal support case with Microsoft Support using the exact telemetry you have gathered here is the best path forward to accelerate a dedicated fix.

    Hope this answer brought you some useful information. If it did, please hit "accept answer". Should you have any questions, feel free to leave a comment.

    VP


  3. Q&A Assist
    2026-03-04T08:01:11.38+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The provided information does not document any known incompatibility between Windows Server 2025 performance counters (Perflib/PDH) and Configuration Manager SMS_EXECUTIVE/SMS_INVENTORY_DATA_LOADER providers, nor any regression or planned fix specific to this scenario.

    The context only covers:

    • How performance counters are architected and consumed (PDH, PerfLib V1/V2, registry-based providers).
    • How to rebuild and re-add performance counters when they are missing or corrupted.

    Given that, only the supported, documented remediation steps for broken/missing counters can be outlined; there is no product-specific statement about ConfigMgr CB 2509 on Windows Server 2025.

    Actionable steps based on the documentation:

    1. Rebuild base performance counters
      • Replace %SystemRoot%\System32\Perfc009.dat and %SystemRoot%\System32\Perfh009.dat with the copies from the Windows installation media, as described in “Rebuild the base performance counters”.
      • In HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib, set:
        • Last Counter = 1846 (decimal)
        • Last Help = 1847 (decimal)
      • Under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services, for each service that has a Performance subkey, remove First Counter, First Help, Last Counter, and Last Help values.
      • This leaves only the base system counters.
    2. Re-add extensible and third‑party counters
      • Open an elevated Command Prompt, change to %SystemRoot%\System32 and identify provider INI files:
             cd %Systemroot%\System32
             findstr drivername *.ini
        
      • For each relevant driver INI file, reload counters:
             lodctr <inifile>
        
      • To rebuild all counters (base + extensible + third‑party) in one step:
             cd \windows\system32
             lodctr /R
        
      • Ensure this is run as an administrator. On cluster/Datacenter products, fail over the node after rebuilding to refresh the counter list.
    3. Confirm PerfLib/PDH visibility
      • Use standard performance counter consumers (e.g., Performance Monitor, typeperf.exe, or PDH‑based tools) to verify that the rebuilt counters are visible and returning data.
      • If targeting V2 providers directly, use the PerfLib V2 consumer API sequence:
        • PerfEnumerateCounterSetPerfQueryCounterSetRegistrationInfoPerfOpenQueryHandlePerfAddCountersPerfQueryCounterData, as documented in “Using the PerfLib Functions to Consume Counter Data”.
      • This validates whether the issue is with the provider registration or with a specific consumer (such as ConfigMgr).
    4. If .NET‑based components are affected
      • The documentation notes that removing Performance subkey values can break .NET applications until counters are rebuilt. If any .NET components in the stack misbehave after step 1, run:
             lodctr /R
        
        to rebuild counters from the INI files, then restart the server.

    The documentation does not state that Windows Server 2025 has a regression in the performance counter infrastructure, nor that there is a known ConfigMgr provider compatibility issue or a planned fix. For product‑specific confirmation (ConfigMgr CB 2509 + Server 2025) and to have the behavior formally investigated, the next step is to open a support case with Microsoft, referencing the counter rebuild steps already attempted and the perfsetup.exe error.


    References:


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.