Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VS 2015 memory usage and perf after some hours of use #7082

Closed
davidroth opened this issue Nov 26, 2015 · 158 comments
Closed

VS 2015 memory usage and perf after some hours of use #7082

davidroth opened this issue Nov 26, 2015 · 158 comments
Assignees
Labels
Area-IDE Tenet-Performance Regression in measured performance of the product from goals.

Comments

@davidroth
Copy link

Hi guys,

I am currently working on a relatively decent solution and I am having problems with high memory usage of VS2015 after some time of usage.

I usually have to restart VS some times a day, because memory usage goes up to > 2 GB and the IDE becomes sluggish.

When opening the solution and building it the first time, VS usually consumes about 750MB.
After some hours I usually have > 1.8 GB and the IDE gets slower and slower.

I have also noticed, that when using VS on multiple desktops (ex. undocking a code window on the 2nd screen), memory consumption increases even faster and the IDE becomes laggy in a relative short amount of time.

Are there any known issues regarding increasing memory consumption of VS2015? Or if not, whats the best way to debug this and provide you with some information to improve this? I could use a memory profiler and check which objects are alive if this is helpful for you?

Edit: I am not using resharper. I am using coderush for roslyn on one machine, however the issue remains when uninstalling coderush, so it's not related to it.

2015-11-26_114324

@axel-habermaier
Copy link
Contributor

I also have to restart VS from time to time in order to get it fast again. I have Resharper installed, though, they're a known source for sluggishness. So I'm not sure whether it actually is Microsoft's fault. Do you use Resharper as well?

All in all, VS2012 was the fastest VS I've ever used for C# development. VS2015 is almost as bad as the horrible VS2010 performance-wise. I do realize that Roslyn was a huge change for VS and that it initially might sacrifice some performance now to get VS ready for the future (like the switch to WPF was with VS2010). But I really hope that VSnext will focus on performance again like they did with VS2012...

@davidroth
Copy link
Author

@axel-habermaier No, i don't use Resharper. I use coderush for roslyn on one machine, however the issue remains when uninstalling coderush, so it's not related to it.
Yes, I also hope that perf will be improved in upcoming updates. Roslyn is great, but perf was better in VS2013 (especially due to the memory leaks described in this issue).

@ViIvanov
Copy link

Do you use a CodeLens? I have the same problems with it in the big (60-70 projects) solution.

@davidroth
Copy link
Author

I already disabled CodeLens. Performance with CodeLens enabled is worse though.

@asvishnyakov
Copy link
Contributor

As @axel-habermaier says, Visual Studio require more memory at last versions. But I have no problems with it when I work with small projects. VS may use up to 1 GB of memory, but it acceptable price for convenience: I use a lot of features (like WPF designer or CodeLenses) and extensions (like ReSharper) which use a lot of memory. But when I twice rebuild Roslyn solution, VS consumes up to 2 GB of memory, that is a limit for 32-bit process. So, it may periodically freeze until I force gc (Ctrl+F12 twice). Memory profiling + move to 64-bit processes as soon as possible would be the best solution. Building VS with /LARGEADDRESSAWARE may be temporary solution.

@kuhlenh kuhlenh added the Tenet-Performance Regression in measured performance of the product from goals. label Dec 4, 2015
@kuhlenh kuhlenh modified the milestones: 1.1, 1.2 Dec 4, 2015
@kuhlenh
Copy link

kuhlenh commented Dec 4, 2015

@davkean Can you take a look at this, particularly the possible issue around undocking code windows.

@davidroth
Copy link
Author

@davkean

There is definitely something wrong when working with undocked code windows or with multiple windows in a horizontal/vertical split view. (Update1 installed)

VS becomes slower and slower, and memory usage increases.
I have also noticed, that once closing all windows after working in multi window mode for some time, VS seems to run "amok". I constantly have 15-20% CPU usage on a 4K I7 4790K. Furthermore memory usage increases and decreases between 1400MB up to 2000MB, and it doesn't stop.

I took these 2 screenshots, while VS was just opened (with no code windows, samples taken within a 1 minute range ).
When it hits the 2GB bar, GC runs and it jumps back to ~ 1400MB. It then constantly increases up to 2GB.

vsbugv2

vsbug

@davkean
Copy link
Member

davkean commented Jan 5, 2016

@davidroth I cannot repro this - I'm constantly using three screens of undocked windows, so it doesn't appear to be a general issue, it might be related to what tools windows or projects you have opened.

Does this occur with all projects? Does it occur when projects are closed?

Can you Send A Frown (Report a Problem) if you are using Update 1 and include "davkean" in the description of the issue, make sure you do this from another instance of VS and click Start Recording when it's at its worse:
image.

@davidroth
Copy link
Author

@davkean I have sent you a feedback with the recording. Although I just recorded once i noticed that memory started to increase up to 2.2 GB while doing nothing. Is this enough?
You should get a heap dump from this right?
Or do I have to record my whole VS session from the beginning?

To answer your other questions:

  • Does it occur with all projects: Cannot say, because atm I am constantly working on this large sized project, without much other side work.
  • Does it occur when projects are closed?: I guess by that you mean if memory and cpu usage is still high after i closed the solution without closing VS? => Yes definitely. I just closed my solution, and VS is still at 20% without any project/solution open, and memory is constantly going up and down between 1.8 and 2.5 GB. After some minutes it has stopped using cpu, but memory stopped at 1.96 GB.

@davidroth
Copy link
Author

@davkean

Here is a screenshot from some basic memory monitoring with dotMemory:

timeline

As you can see, there are three major collections/allocation phases within 20s timeframe. Memory ranges between 1.4 - 1.9 GB in this sample. (Solution opened, no windows opened, not working with VS)

alloc

In the above screenshot you can see the top allocated managed objects.

I took this after about an hour of work. However this time I did not undock any windows. So my previous assertion about this being an undocking issue may be invalid. However working with multiple windows certainly does accelerate the issue I am describing here.

@DustinCampbell DustinCampbell modified the milestones: 1.3, 1.2 Feb 22, 2016
@jedidja
Copy link

jedidja commented Mar 1, 2016

We have exactly the same problem. Even after closing a project, VS CPU usage will continue to be high and memory usage often climbs to 2GB. It's bad enough that this happens while working on a solution when it's open but unexplainable that it happens after closing it.

@Drauka
Copy link

Drauka commented Mar 3, 2016

To further build the case for some investigation into this issue, I would add that we have the same issue in our dev team. Memory consumption increases to over 2.5Gb causing visual studio to become unresponsive to the point where the only option is to restart.

@WayneEllery
Copy link

We are having the same issue with our Dev team. Our solution is very big. It has 46 projects. I've also installed Update 2 RC and it still has not fixed the issue. We are using Resharper and CodeLens. When first opening the solution it is about 1Gb and then memory increases and after 4 hours or so it goes over 2GB and then Visual Studio becomes unresponsive.

@jmarolf
Copy link
Contributor

jmarolf commented Mar 4, 2016

Out of curiosity, how many of those reporting problems on this thread are using resharper?

@jedidja
Copy link

jedidja commented Mar 4, 2016

I'm not running ReSharper or any other similar extension and there are a couple others on our team with the same issue. We also have people with ReSharper installed who experience the same issue.

@jmarolf
Copy link
Contributor

jmarolf commented Mar 4, 2016

Thanks @jedidja, good to narrow things down. For everyone on this thread that has this happen to them, it would be greatly appreciated if you clicked Send A Frown (Report a Problem) as per @davkean 's instructions

@jedidja
Copy link

jedidja commented Mar 5, 2016

@jmarolf Ok, submitted. We have about 20 projects in our solution and are running Community Edition. We've tried 2015 Update 2 RC and still see the same problem. I'd be happy to do a screen-sharing session with anyone on the team if that would help.

@jedidja
Copy link

jedidja commented Mar 5, 2016

Also, the 30-35% CPU usage happens regardless of machine. It's the same on both my desktop (i5-3570K 3.4Ghz) and also on my 2015 Macbook Pro (i7 2.5 Ghz) under Parallels.

@asvishnyakov
Copy link
Contributor

@jmarolf I had this issue both in clear Visual Studio and with ReSharper

@davidroth
Copy link
Author

I have updated to VS2015 Update 2 today, and now I am getting this new message bar when the memory consumption is over about 1.5 GB:

image

However, my overall system memory consumption looks like this:
image

@davkean Have you been able to reproduce this issue in your labs or do you need additional reports?

@davkean
Copy link
Member

davkean commented Apr 1, 2016

+@heejaechang do you know what's going on here? Are we fragmented?

@DanielRowe1
Copy link

Update 2 has make VS just about unusable for our large project:

Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at Microsoft.CodeAnalysis.Diagnostics.AnalysisState.<>c.b__16_2()
at Roslyn.Utilities.ObjectPool1.CreateInstance() at Roslyn.Utilities.ObjectPool1.AllocateSlow()
at Roslyn.Utilities.ObjectPool1.Allocate() at Microsoft.CodeAnalysis.Diagnostics.AnalysisState.PerAnalyzerState.OnCompilationEventGenerated(CompilationEvent compilationEvent, AnalyzerActionCounts actionCounts) at Microsoft.CodeAnalysis.Diagnostics.AnalysisState.OnCompilationEventsGenerated_NoLock(ImmutableArray1 compilationEvents, SyntaxTree filterTreeOpt, AnalyzerDriver driver, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Diagnostics.AnalysisState.GenerateSimulatedCompilationSourceEvents(SyntaxTree tree, Compilation compilation, Func4 getCachedSemanticModel, AnalyzerDriver driver, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Diagnostics.AnalysisState.<GenerateSimulatedCompilationEventsAsync>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers.<ComputeAnalyzerDiagnosticsAsync>d__52.MoveNext() Stack: at System.Environment.FailFast(System.String, System.Exception) at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception) at Microsoft.CodeAnalysis.FatalError.Report(System.Exception, System.Action1<System.Exception>)
at Microsoft.CodeAnalysis.FatalError.ReportUnlessCanceled(System.Exception)
at Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers+d__52.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers+d__52.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.__Canon) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.__Canon)
at Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers+d__53.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.Threading.Tasks.VoidTaskResult) at System.Threading.Tasks.UnwrapPromise1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetFromTask(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.UnwrapPromise1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Threading.Tasks.Task) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task.FinishStageThree() at System.Threading.Tasks.Task1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.Threading.Tasks.VoidTaskResult)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.Threading.Tasks.VoidTaskResult) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.Threading.Tasks.Task1<System.Threading.Tasks.VoidTaskResult>) at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver+<>c__DisplayClass36_0+<<Initialize>b__0>d.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task.FinishStageThree() at System.Threading.Tasks.Task1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.__Canon)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.__Canon) at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver+<GetAnalyzerActionsAsync>d__83.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task.FinishStageThree() at System.Threading.Tasks.Task1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.__Canon)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.__Canon) at Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager+<GetAnalyzerActionsAsync>d__12.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task.FinishStageThree() at System.Threading.Tasks.Task1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetResult(System.__Canon)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetResult(System.__Canon)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager+d__8.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

@heejaechang
Copy link
Contributor

@AdjutantML Hi. we have 3 memory leak fixes waiting for next micro-update.

53f1ae6
f965b89

both of them seem related to your scenario. I believe those micro-update will be released soon. if that still doesn't improve your scenario, can you provide us dump through "send a frown" menu?

@davidroth
Copy link
Author

@heejaechang Nice to see further Perf improvements are in progress!
Memory usage has quite improved since Update 3, however, I am still seeing increased usage when doing branch switching (git). For example I can work many hours with stable me usage between 700-900MB but as soon as I switch between branches memory goes up and toggles between 1200-1500 Mb (and never gets back)

I believe this could be fixed with 53f1ae6?

@heejaechang
Copy link
Contributor

@davidroth Hi David.

sound like this issue - #10358

no fix yet, but we are aware of the issue @Pilchie @jasonmalinowski

@AdjutantML
Copy link

Thanks @heejaechang, looking forward to it.

@nicholashead noted.
Also believe that the greater good should be served, if most users benefit and enjoy 2015 changes then I am an outlier, and let it be so.
No Resharper (have heard of Resharper related issues though) but do have Stylecop 4.7.50 installed. Plugins are exactly the same with VS2013 testing. Even if the plugins are related to triggering issues (specifically in VS2015), we have a clear cut case that can reproduce the problem without plugins and as heejaechang mentioned, this issue may be sorted already.

@davidroth
Copy link
Author

@heejaechang thanks, yes #10358 looks exactly like the issue I described.
Sad that it is targeted for 2.0 though, which means we won't get a fix for vs2015?

@heejaechang
Copy link
Contributor

@davidroth @jasonmalinowski is expert on project system. he is probably better person to answer that.

@jasonmalinowski
Copy link
Member

@davidroth Can't say just because I literally haven't had the time to look at it. Let's discuss #10358 on that issue, rather than polluting this discussion further.

@DustinCampbell
Copy link
Member

@Pilchie: could you track this?

@AdjutantML
Copy link

Good work guys, Update 14.0.25422.01 fixed the 'memory leak' (undisposed references).

On the topic of rename / refactor : Is it possible to persist the keyboard cursor position when starting a rename / refactor action?

This is what happens:

  • The keyboard cursor is mostly (most often) already positioned at the precise offset where a change to a name must take place
  • Refactor / rename (inline) is invoked
  • VS automatically moves the mouse cursor to the end of the element
  • The first keypress (left or right) moves the keyboard cursor to the very beginning or very end of the element
  • The user must now move the cursor back to the position where the change was originally intended

When renaming by retyping the entire name (or typing a new name), it is possible to simply start typing (which is nice), but about 80% (or more) of the time I find that rename / refactor operations consist of only a few letters.

Is there a way to restore or enable such functionality (persist the cursor location - i.e. do not move the cursor to beginning or end of element)?

@DickvdBrink
Copy link
Contributor

DickvdBrink commented Jul 14, 2016

@AdjutantML, you don't need to invoke the refactor rename first. You can just do some changes and press ctrl+. and it will asks you to rename it. That is your usecase if I'm understanding it correctly.
But maybe you should make a new issue for this because this thread is more about memory leaks than rename/refactor ;)

@AdjutantML
Copy link

@DickvdBrink, that is perfect!
Thanks for the the info.

@Pilchie
Copy link
Member

Pilchie commented Jul 30, 2016

At this point, I think the issues that triggered this thread seem to be mostly addressed, or already tracked in other issues. I'm going to close this issue, but please continue to file new issues for specific problems that you're seeing - improving performance and memory issues is one of our top focuses for 2.0/VS "15".

@Pilchie Pilchie closed this as completed Jul 30, 2016
@msedi
Copy link

msedi commented Sep 6, 2016

I have installed VS2015 14.0.25425.01 Updated 3 but still having problems with memory. When I start VS at the evening with full available memory and leave VS open during the night, come back in the morning and there is almost no memory left (2GB of 32GB). If I look in the process explorer I can see not application that keeps the memory, also Resharper is turned off.

@AdamSpeight2008
Copy link
Contributor

@msedi Would you mind expanding on "left open".

  • Is this just the initial screen, no solution / code open.
  • Is there a projects loaded?
    etc

@Pilchie
Copy link
Member

Pilchie commented Sep 6, 2016

@msedi Can we please move this to a new issue. You appear to be talking about something other than the actual VM used by the devenv.exe process, which is limited to 4GB being a 32-bit process.

@msedi
Copy link

msedi commented Sep 6, 2016

@Pilchie: You may be right and I'm not quite sure who is using the memory. It seems that VS isn't using the memory, also when using the ProcessExplorer there is nothing that tells me who is using the memory. Where VS is still used as a 32bit-Process I'm aware that the process "devenv" is obviously not using it. Of course I can open up another issue, but I thought it fits here. BTW: The 32GB was related to the memory in my computer and someone is eating the memory, but I cannot find out who ;-)

@msedi
Copy link

msedi commented Sep 6, 2016

@AdamSpeight2008: Sorry for being to vague. VS is left open with all projects loaded. In other words, I work with VS, compile things, leave the solution open, and when I stop working and go home, I leave VS in it's current state - simply don't touching anything anymore.

@jmarolf
Copy link
Contributor

jmarolf commented Sep 6, 2016

@msedi If you launch Task Manager (Ctrl + Shift + Esc) and sort by memory usage what do you see?
image
Also, what OS are you using?

@msedi
Copy link

msedi commented Sep 7, 2016

@jmarolf I have installed Windows 7/x64. Attached are two screenshots of my running processes
taskmanager1
taskmanager2

@jmarolf
Copy link
Contributor

jmarolf commented Sep 7, 2016

@msedi

When I start VS at the evening with full available memory and leave VS open during the night, come back in the morning and there is almost no memory left (2GB of 32GB).

This does not appear to be happening in your screen shots. Please file a new bug if you find out that devenv.exe is taking up all of your system memory.

@timeichfeld-msa
Copy link

timeichfeld-msa commented May 25, 2018

Just an observation: Why is this issue closed? I am seeing this issue on Build:
-=-=-=-
Microsoft Visual Studio Community 2015
Version 14.0.24720.00 Update 1
Microsoft .NET Framework
Version 4.7.02556

Installed Version: Community

Visual Basic 2015 00322-20000-00000-AA351
Microsoft Visual Basic 2015

Visual C# 2015 00322-20000-00000-AA351
Microsoft Visual C# 2015

Visual C++ 2015 00322-20000-00000-AA351
Microsoft Visual C++ 2015

Visual F# 2015 00322-20000-00000-AA351
Microsoft Visual F# 2015

Application Insights Tools for Visual Studio Package 1.0
Application Insights Tools for Visual Studio

ASP.NET and Web Tools 2015.1 (Beta8) 14.1.11106.0
ASP.NET and Web Tools 2015.1 (Beta8)

ASP.NET Web Frameworks and Tools 2012.2 4.1.41102.0
For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563

ASP.NET Web Frameworks and Tools 2013 5.2.30624.0
For additional information, visit http://www.asp.net/

AWS Toolkit for Visual Studio 2015 1.10.0.6
AWS Toolkit for Visual Studio 2015.
Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.

This software includes third party software subject to the following copyrights:

  • Logging from log4net, Apache License
    [http://logging.apache.org/log4net/license.html]
  • Putty for PPK to PEM conversion, MIT license
    [http://www.chiark.greenend.org.uk/~sgtatham/putty/licence.html]
  • NGit for AWS Elastic Beanstalk incremental push
    [https://github.com/mono/ngit/blob/master/NGit.license.txt]
  • NSch dependency for NGit
    [https://github.com/mono/ngit/blob/master/NSch.license.txt]
  • Sharpen dependency for NGit
    [https://github.com/mono/ngit/blob/master/Sharpen/AssemblyInfo.cs]
  • ICSharpCode.SharpZipLib dependency for NGit
    [http://www.icsharpcode.net/opensource/sharpziplib/]
  • Mono.Posix.dll and Mono.Security.dll dependencies for NGit
    [http://mono-project.com/FAQ:_Licensing#Licensing]
  • MPFProj for Visual Studio Project Framework
    [http://mpfproj10.codeplex.com/license]
  • JSON Checker for JSON validation
    [http://www.raboof.com/projects/jsonchecker/]

Common Azure Tools 1.5
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

CreateLayoutWizard 1.0
Create layout wizard.

Devart Code Compare 4.1.78
Devart Code Compare
Copyright (c) 2012-2015 Devart. All rights reserved.
http://www.devart.com/codecompare/

DevExpress.DeploymentTool 1.0
A useful tool for deploying DevExpress assemblies.

Entity Framework Power Tools 1.0
Adds useful design-time DbContext features to the Visual Studio Solution Explorer context menu.

When right-clicking on a file containing a derived DbContext class, the following context menu functions are supported:

  1. View Entity Data Model - Displays the underlying Code First model in the Entity Framework designer.
  2. View Entity Data Model XML - Displays the EDMX XML representing the underlying Code First model.
  3. Generate Views - Generates pre-compiled views used by the EF runtime to improve start-up performance. Adds the generated views file to the containing project.

GitHub.VisualStudio 2.3.6.391
A Visual Studio Extension that brings the GitHub Flow into Visual Studio.

JetBrains ReSharper Ultimate 2016.3 Build 107.0.20161214.141528
JetBrains ReSharper Ultimate package for Microsoft Visual Studio. For more information about ReSharper Ultimate, visit http://www.jetbrains.com/resharper. Copyright © 2018 JetBrains, Inc.

Microsoft Azure Mobile Services Tools 1.4
Microsoft Azure Mobile Services Tools

NuGet Package Manager 3.3.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

PreEmptive Analytics Visualizer 1.2
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

SQL Server Data Tools 14.0.50616.0
Microsoft SQL Server Data Tools

XtraReports package 1.0
XtraReports package

-=-=-
When VS gets over 1.0 GB of memory usage, performance lags considerably, to the point where it is unusable. My fix is to restart Visual Studio... but doing this every couple hours is not productive. Thoughts?

Should I open a new issue?

@nicholashead
Copy link

@timeichfeld-msa yes, but I would also suggest maybe you give the newest VS a try?

@timeichfeld-msa
Copy link

Understood, I will try that. Thanks!

@heejaechang
Copy link
Contributor

@timeichfeld-msa when this happen again, can you create a full dump and provide the dump to us? that will help us to figure out what is consuming so much memory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE Tenet-Performance Regression in measured performance of the product from goals.
Projects
None yet
Development

No branches or pull requests