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
- 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?