Analyze high memory consumption of Resharper

I was wondering if there is any good way for me to analyze why Resharper might suffer from such severe memory issues that I am currently facing.

In one of my projects I need to restart Visual Studio almost in a ~30min manner because the memory consumption is spiking to the limits of Visual Studio. Already after opening the solution I start with ~800MB consumption (according to the R# memory indicator in the status bar). Then when I start editing some code VS already becomes slower and slowed, code completion is hardly working and after latest 1hr R# is up to 1.8GB consumption and nothing works anymore. With each GC run VS hangs and I can maybe edit another few lines before it stops working. 

I cannot provide any DotMemory analysis as the project is confidential. I could provide some screenshots of a memory analysis but I guess the error might even be cause by some special thing in the project and I would like to find out what I can maybe change to make R# more happy. From the past I know that typically this memory spikes on normal project work are coming from too much symbol information loaded from the disk cache. Maybe there are some wierd source issues in our project, that cause R# to load more than i needs. 

The basic numbers of the project are: 

- 184k Lines of Code
- 42 Projects in the Solution (3 Windows Services, 5 desktop applications, 2 Web Projects, 14 Test Projects, the rest are DLLs)

Do you maybe have some tools or internal features in R# that allow me to dump some information about the objects held in memory? Maybe some statistics on what R# has loaded and to which files/assemblies the objects belong + how big they are. This would potentially allow me to derive some actions to make R# properly operational. 

I'm having Resharper Ultimate 2018.3 installed on Visual Studio 2017 Professional. My machine is Windows 10 Professional 64bit. 

Kind Regards
Daniel

3 comments
Comment actions Permalink

Hello Daniel!

 

Thank you for contacting us.

Could you please try collecting a memory snapshot using a standalone dotMemory tool https://confluence.jetbrains.com/display/ReSharper/ReSharper+Profiling+Instructions#ReSharperProfilingInstructions-dotMemory when you experience huge memory usage by ReSharper.
We'd be really grateful for assistance.
Thank you.

 

0
Comment actions Permalink

Hi Angelina. 

In my message I tried to highlight this already: I'm aware of dotMemory and can provide some basic object statistics via screenshot. But I cannot provide any snapshot as it will contain confidential data and I do not have the permission to provide anything (even with the possibility of a disclosure agreement). I had a similar topic on the Resharper C++ side and there it was promised that the C++ side will bring improvements. 

That's why I would like to analyze things further on my own to take actions and provide more detailed feedback to you. But to do so, I need to have more than dotMemory provides. I need to know what is semantically in the objects and what project in my solution might cause the issue. 

 

 

0
Comment actions Permalink

I also did some CPU analysis today, as my Visual Studio is lately hanging terribly while writing with high load. Almost all operations that are ongoing and causing high load are from JetBrains. 

Worker Threads are having heavy issues on Waits on a Scheduler.

And the Main Thread is also mostly busy with Resharper stuff. 

 

I can understand that with such basic information your engineers cannot easily fix something. But I doubt that I am the only one suffering of such severe issues. Maybe you guys have some basic ideas what I could do to improve my situation.

0

Please sign in to leave a comment.