Another R# 3.0.2 Memory Leak Thread

I'm posting this in addition to all the other unresolved R# memory leak threads already posted in the last year. First and foremost, I love your product as it has saved me an incredible amount of time with my development efforts. However, the memory leak is undeniable, especially with .net web applications.

My current solution employs one web project and four assembly projects, with a large number of base and third-party assembly references. The hit I take when R# parses all assemblies and files on initial solution load is manageable and after R# is finished initializing, my solution is utilizing about 200mb of available memory.

After about two hours of coding, the memory consumption reported in the GC status bar is hovering around 470mb while Task Manager shows devenv.exe consuming upwards of 950mb. In the grand scheme of things, that's not too bad when I'm working with 3gb of RAM on a dual core system. However, that seems to be a memory ceiling for R# because after that point, VS 2005 is practically unusable. Making simple edits in html markup takes about 3-4 seconds for each key press. The effect of forcing garbage collection for R# is so insignificant, its not even worth having the feature there to begin with.

At this point, you devs know that this is a major problem. As far as i see it, this is the major failing of this product. For all it offers (and it offers a great deal), this is a great, fundamental flaw that desperately needs to be remedied. People have been clamoring for a memory leak fix since 2.0 and now in 3.0.2 the issue remains.

Is this a top priority for your developers and when can we expect a fix?

6 comments
Comment actions Permalink

As much as there definitely is an issue that needs to be addressed in the product, I can whole-heartedly recommend the following temporary workaround: You're running into the AppDomain memory limit. If you're on 32bit OS, enable /3GB and (whether or not on a 32bit OS) mark devenv.exe as LARGEADDRESSAWARE. This will change the runtime's behaviour to allow for a larger AppDomain. This will keep R# and devenv happy until devenv gets to around 1.5 GB or so.

0
Comment actions Permalink

Jeremy, thanks for the suggestion. I went ahead and set all the /3GB and LARGEADDRESSAWARE flags but am still experiencing the same issues...only this time, the issues started when the IDE got to around 380mb utilized. Nice try though!

0
Comment actions Permalink

Interesting, as myself and the others that have used this technique have generally had good results. I suppose there's one of you for every n of us. :)

0
Comment actions Permalink

PS - was that 380 as reported by R#? Or for the devenv.exe process in the task manager? I ask because I do find your results rather counterintuitive.

0
Comment actions Permalink

That 380 was reported by devenv.exe in task manager and you're right, those results are absolutely counterintuitive. I would have expected the opposite result, if anything.

0
Comment actions Permalink

Very strange indeed. I would hazard a guess that there might be something about your solution that is causing R# to freak out. Have you been able to get any errors and/or stack traces out of R# when things have bogged down? If so, I'm sure the JetBrains folk would love to see them.

0

Please sign in to leave a comment.