none
C:\Windows\system32\bitsperf.dll" failed RRS feed

  • Question

  • Log Name:      Application
    Source:        Microsoft-Windows-Perflib
    Date:          10/23/2013 4:36:55 AM
    Event ID:      1008
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      xxxxxxxxxxx
    Description:
    The Open Procedure for service "BITS" in DLL "C:\Windows\system32\bitsperf.dll" failed. Performance data for this service will not be available. The first four bytes (DWORD) of the Data section contains the error code.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Perflib" Guid="{13B197BD-7CEE-4B4E-8DD0-59314CE374CE}" EventSourceName="Perflib" />
        <EventID Qualifiers="49152">1008</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2013-10-23T02:36:55.000Z" />
        <EventRecordID>355461</EventRecordID>
        <Correlation />
        <Execution ProcessID="0" ThreadID="0" />
        <Channel>Application</Channel>
        <Computer>SWAMR0041.INDUSTRIE.AMMANN.INTRA</Computer>
        <Security />
      </System>
      <UserData>
        <EventXML xmlns:auto-ns2="http://schemas.microsoft.com/win/2004/08/events" xmlns="Perflib">
          <param1>BITS</param1>
          <param2>C:\Windows\system32\bitsperf.dll</param2>
          <binaryDataSize>8</binaryDataSize>
          <binaryData>0200000000000000</binaryData>
        </EventXML>
      </UserData>
    </Event>




    Tried to rebuild the counters 

    1. lodctr bitsperf.dll
    2. lodctr \R
    3. lodctr /e:bitsperf.dll

    After performing the above still getting the issue.

    Microsoft Provided steps are confusing.
    Can any one provide me the detailed steps to resolve the issue ?

    Shashidhar N Bharadwaj

    Wednesday, October 23, 2013 7:41 PM

Answers

All replies

  • Hi,

    Thanks for posting in the forum.

    Regarding the current issue, maybe you should reload the Performance Library. For detailed steps, please refer to the following article.

    Event ID 1008 — Performance Library Availability

    http://technet.microsoft.com/en-us/library/cc774913(v=ws.10).aspx

    In addition, we could also refer to the article below to manually rebuild the Performance Counter Library values.

    How to manually rebuild Performance Counter Library values

    http://support.microsoft.com/kb/300956

    Here is an article as reference, hope it helps.

    Event ID: 1008 Source: Perflib

    http://www.eventid.net/display.asp?eventid=1008&eventno=70&source=Perflib&phase=1

    Best Regards,

    Andy Qi

    TechNet Subscriber Support

    If you are TechNet Subscription user and have any feedback on our support quality, please send your feedback here.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

    Thursday, October 24, 2013 9:34 AM
    Moderator
  • I actually ran into this issue myself and I found this to be my fix.

    "Unable to add these counters:

    \Memory\Available MBytes
    \Memory\% Committed Bytes In Use
    \Memory\Cache Faults/sec
    \Memory\Cache Faults/sec
    \PhysicalDisk(*)\%Idle Time
    \PhysicalDisk(*)\Avg. Disk Queue Length
    \Network Interface(*)\Bytes Total/sec"

    after that I checked my Test Server and saw the same error in Windows Server 2012. I searched and found a lot of info about this error in earlier version of Windows but not for Server 2012 and therefore decided to write a wiki about it. It is my first English wiki and I want to write this wiki for other people who may have similar problem because Ed Price suggested us:

    Below are some steps to be followed.

    Steps:
    We have to rebuild Performance Counters with LODCTR from an elevated command prompt.
    1. Launch Command Prompt as Administrator (right click Runs As Administrator).
    2. Drop into the C:\WINDOWS\System32 directory by typing CD\ then CD Windows\System32
    3. To rebuild your resource counters type the following command:
    lodctr /r
    This will rebuild your counter values and may take a few moments so please be patient.
    4. If you wish to query the counters to make sure they were correctly set, use:
    lodctr /q
    This will give you something like the following:
    Performance Counter ID Queries [PERFLIB]:
        Base Index: 0x00000737 (1847)
        Last Counter Text ID: 0x000031D2 (12754)
        Last Help Text ID: 0x000031D3 (12755)
     
    [.NET CLR Data] Performance Counters (Enabled)
        DLL Name: %systemroot%\system32\netfxperf.dll
        Open Procedure: OpenPerformanceData
        Collect Procedure: CollectPerformanceData
        Close Procedure: ClosePerformanceData
     
    [.NET CLR Networking] Performance Counters (Enabled)
        DLL Name: %systemroot%\system32\netfxperf.dll
        Open Procedure: OpenPerformanceData
        Collect Procedure: CollectPerformanceData
        Close Procedure: ClosePerformanceData
    and etc
    5.Now reopen the Performance Monitor and check it. You will see that the error was fixed.

    Note 1:
    In the query if you have provider name that is Disabled, Use this Cmdlet to enable it.
    lodctr /e:<provider name>
    for example (think in above query Performance Counters is disable ) :
    lodctr /e:Performance Counters

    Note 2:
    If you perform this step and it doesn't work, please see the event log and search for if there is Event ID = 3006 in it? if yes, 
    please go to registry and change Disable Performance Counters from "1" to "0".
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

    Hope this is helpful. 

    Wednesday, March 26, 2014 10:07 PM
  • Need to make sure that "BITS" Service to be in started state.

    For me alerts got stopped after doing the same.



    Shashidhar N Bharadwaj

    Thursday, July 24, 2014 3:13 PM
  • Ensure that the service accounts (for example, account running SSIS service) is added in server local group "Performance Monitor Users".

    The MSSQL service and Analysis service usually are added during installation, but this is not valid for SSIS service - need to add service account manually.


    Lolita Broka

    Friday, September 2, 2016 12:01 PM
  • These steps worked for me in that I got ERROR 2 the first attempt. (BTW, I am running Windows 10 on a Toshiba laptop.)

    1. Run >lodctr /r

    (As I said, this resulted in ERROR CODE 2.)

    2. Run >lodctr /q

    Don't ask me why. I guess I was just curious what it would show.

    3. Run >lodctr   (again)

    Bingo! It worked this time and only took seconds before it displayed, "Successfully rebuilt performance counter..."


    Michael T. Senior Software Engineer (retired)

    Saturday, December 24, 2016 4:38 PM
  • Thank you worked for me.
    Monday, January 30, 2017 1:22 AM
  • I actually ran into this issue myself and I found this to be my fix.

    "Unable to add these counters:

    \Memory\Available MBytes
    \Memory\% Committed Bytes In Use
    \Memory\Cache Faults/sec
    \Memory\Cache Faults/sec
    \PhysicalDisk(*)\%Idle Time
    \PhysicalDisk(*)\Avg. Disk Queue Length
    \Network Interface(*)\Bytes Total/sec"

    after that I checked my Test Server and saw the same error in Windows Server 2012. I searched and found a lot of info about this error in earlier version of Windows but not for Server 2012 and therefore decided to write a wiki about it. It is my first English wiki and I want to write this wiki for other people who may have similar problem because Ed Price suggested us:

    Below are some steps to be followed.

    Steps:
    We have to rebuild Performance Counters with LODCTR from an elevated command prompt.
    1. Launch Command Prompt as Administrator (right click Runs As Administrator).
    2. Drop into the C:\WINDOWS\System32 directory by typing CD\ then CD Windows\System32
    3. To rebuild your resource counters type the following command:
    lodctr /r
    This will rebuild your counter values and may take a few moments so please be patient.
    4. If you wish to query the counters to make sure they were correctly set, use:
    lodctr /q
    This will give you something like the following:
    Performance Counter ID Queries [PERFLIB]:
        Base Index: 0x00000737 (1847)
        Last Counter Text ID: 0x000031D2 (12754)
        Last Help Text ID: 0x000031D3 (12755)
     
    [.NET CLR Data] Performance Counters (Enabled)
        DLL Name: %systemroot%\system32\netfxperf.dll
        Open Procedure: OpenPerformanceData
        Collect Procedure: CollectPerformanceData
        Close Procedure: ClosePerformanceData
     
    [.NET CLR Networking] Performance Counters (Enabled)
        DLL Name: %systemroot%\system32\netfxperf.dll
        Open Procedure: OpenPerformanceData
        Collect Procedure: CollectPerformanceData
        Close Procedure: ClosePerformanceData
    and etc
    5.Now reopen the Performance Monitor and check it. You will see that the error was fixed.

    Note 1:
    In the query if you have provider name that is Disabled, Use this Cmdlet to enable it.
    lodctr /e:<provider name>
    for example (think in above query Performance Counters is disable ) :
    lodctr /e:Performance Counters

    Note 2:
    If you perform this step and it doesn't work, please see the event log and search for if there is Event ID = 3006 in it? if yes, 
    please go to registry and change Disable Performance Counters from "1" to "0".
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

    Hope this is helpful. 

    Awesome. Thank you. This seems to work :)

    Friday, June 30, 2017 6:39 AM
  • Michael, thank you for posting this.  It worked for me too on Windows 10-64
    Friday, October 13, 2017 7:07 PM
  • Resolved!

    A step-by-step solution is provided to below link:

    https://xture.wordpress.com/2017/10/30/rebuild-performance-counters/

    Wednesday, November 1, 2017 8:44 AM
  • Very helpful and easy to follow. I have been searching the web for a fix and this is this first answer that helped. 5 UPVOTES if I could :-).

    Warren

    Friday, March 16, 2018 11:34 PM
  • YES! I needed to run the

    <g class="gr_ gr_105 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" data-gr-id="105" id="105">lodctr</g> /r

    command twice (first time errored with error code 2) before it ran successfully.

    Monday, April 23, 2018 3:15 AM