Taking snapshot with dotMemory is very slow

Hello, I have a windows service running on Windows 2016 server. The service is a 32 bit process, and it generates an OutOfMemoryException. I took the first snapshot before the exception, and then after the exception. The first snapshot got processed very quickly but the second one, has been in the Processing state for 3 days now. I see that JetBrains.Common.ExternalStorageCLR40.exe is running, and it seems that the application is not hanging but it doesn't look that it is anywhere close to finishing the processing of the snapshot. Note that, when I took the second snapshot, private working set of the process in Task Manager was showing about 3 GB.

Any suggestion on how to improve performance of snapshot processing?

Thank you,

Sergei Akopov.

0
3 comments

Hello Sergei!

 

Thank you for contacting us.

In case of OutOfMemoryException it's hard to take a snapshot cause dotMemory tool also needs to get memory in the profiling process.

You can try making memory dump using Task Manager or Process Explorer and import it to dotMemory.

Thank you.

0
Avatar
Permanently deleted user

Similar issue. But there was no OutOfMemory in my case. I just clicked 'GetSnapshot'. Snapshot frozen in 'Processing...' state. 

0

Konstantin,

Do you have enough disk space on your computer? Processing can take a lot of disk space and stuck if space is not enough.

In other case, could you please perform the next steps:

  • Close standalone dotMemory and Visual Studio with integrated dotMemory
  • Clear %temp% folder
  • Clear %temp%\JetLogs folder
  • Go to dotMemory installation folder: %localappdata%\JetBrains\Installations\dotMemory[N]
  • Using Windows command-line start dotMemory with arguments: /LogLevel=Trace
  • Start creating a profiling session (e.g., on dotMemory Home page, choose Local)
  • In the Profile Application window, press Ctrl+Shift+Alt+F11
  • In the Expert options dialog window, select the Enable logs checkbox (only this checkbox)
  • Click Save
  • Run the profiling session
  • Get snapshot, if it stucks on the processing state, wait ~10 minutes and check does "JetBrains.Common.ExternalStorage.CLR40.exe" process exist in task manager
  • Search for "ssc*" and "ssd*" files in %temp% folder. Could you please copy these files and send them to us?
  • Stop profiling session and close dotMemory
  • Look for logs in the %temp%\JetLogs folder. Please zip all log files and send them to us

You can create support ticket and attach your files to the ticket: https://resharper-support.jetbrains.com/hc/en-us/requests/new

0

Please sign in to leave a comment.