You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Editor Services memory consumption is large due to Script Analyzer #269
I'm not sure if this existed previous to 0.6.2 but given the small number of changes to 0.6.2, it must have. Anyway, while working on Plaster in VSCode today I noticed that the PSES language server process was consuming ~278 MB! I created a dump file and loaded it into 2015 to analyze the managed memory. This is what I see:
If I burrow into the PSSA helper class I see:
Note that helper is a static, so it will never get collected and anything it has a reference to will never get collected on down the line. Looking inside it, we see that it is holding onto a lot of AST:
The DMP file is about 610 MB and I could make it available via my OneDrive account but I suspect you could recreate it pretty easily. I'm on VSCode 1.4.0, Windows 10 1607 and PSSA 1.5.0.
Yikes, good old 'Helper' class finally comes home to roost. This was something I had pointed out a while back but we never got around to refactoring the code to get rid of it. If nothing else we should definitely not be consuming so much memory over time.
changed the title [-]EditorServices memory consumption if large[/-][+]Editor Services memory consumption is large due to Script Analyzer[/+]on Aug 15, 2016
It turns out PSSScriptAnalyzer keeps adding ASTs to the dictionary without removing them even after having no use of them. But since, EditorService now uses Invoke-ScriptAnalyzer to get the diagnostic markers, this would not be an issue. I think we can close this issue now.
Activity
daviwil commentedon Aug 15, 2016
Yikes, good old 'Helper' class finally comes home to roost. This was something I had pointed out a while back but we never got around to refactoring the code to get rid of it. If nothing else we should definitely not be consuming so much memory over time.
Tagging Kapil Borle (@kapilmb) so that he sees this analysis.
kapilmb commentedon Aug 15, 2016
Looks like an instance of VariableAnalysis class is taking up a lot of memory. Will have a look at it.
daviwil commentedon Aug 15, 2016
Awesome, thanks Kapil!
[-]EditorServices memory consumption if large[/-][+]Editor Services memory consumption is large due to Script Analyzer[/+]kapilmb commentedon Nov 18, 2016
It turns out PSSScriptAnalyzer keeps adding ASTs to the
dictionarywithout removing them even after having no use of them. But since, EditorService now usesInvoke-ScriptAnalyzerto get the diagnostic markers, this would not be an issue. I think we can close this issue now.Merge pull request PowerShell#269 from pcgeek86/patch-1