locked
Needs to reduce CPU Utilization in CLR Profiler RRS feed

  • Question

  • Hi 

    I am involved in developing a clr profiler project. We are currently using IID_ICorProfilerInfo2 (m_pProfilerInfo) interface object. We are using the following event masks 

    hr =  m_pProfilerInfo->SetEventMask(COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |

    COR_PRF_MONITOR_EXCEPTIONS |

    COR_PRF_USE_PROFILE_IMAGES |

    COR_PRF_MONITOR_JIT_COMPILATION | 

    COR_PRF_MONITOR_MODULE_LOADS );


    When we remove the event mask "COR_PRF_USE_PROFILE_IMAGES", we are not able to get SQL, HTTP calls for JIT compilation.
    We have observed the same behavior by setting the event mask "COR_PRF_DISABLE_ALL_NGEN_IMAGES".
     
    When we set either "COR_PRF_USE_PROFILE_IMAGES" or "COR_PRF_DISABLE_ALL_NGEN_IMAGES", the worker process
    cpu utilization goes higher and some time it reaches 100% too. When we see the thread stack in w3wp process
    using the process explorer, we are seeing many clr::prebindassemblyex(). Each and every prebindassemblyex()
    takes < 10% cpu utilization. This seems something related with ngen or profiled enhanced images. 


    Is it possible to avoid the cpu% and still use COR_PRF_USE_PROFILE_IMAGES event mask?
    Wednesday, September 9, 2020 4:56 PM

All replies

  • Hi Duraikannu Jeyamani,

    Thank you for posting here.

    You can consider posting it in developer community forum for more efficient responses. Thanks. 

    Thank you for your understanding.

    Best Regards,

    Xingyu Zhao


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Friday, September 11, 2020 1:28 AM