vscode: Very high CPU and memory usage after update in MacOS Big Sur

  • VSCode Version: 1.52.0
  • OS Version: MacOS Big Sur 11.0.1 (20B29)

Steps to Reproduce:

  1. Start vscode

Does this issue occur when all extensions are disabled?: Yes

After updating vscode it started to eat all cpu time of all 4 cores for about 10 minutes after restarting vscode. After that it eats 150% of total cpu time forever. What is it doing and can’t it just use one core and not freeze the whole machine? Also, why does it eat all cpu time when there is an update waiting for restart?

Also, vscode uses 12 to 18GB of RAM. That’s a lot of bytes when thinking how many characters of code I have. What kind of neural network is it building in memory?

After restart:

[Version:          Code 1.52.0 (940b5f4bb5fa47866a54529ed759d95d09ee80be, 2020-12-10T22:46:53.673Z)
OS Version:       Darwin x64 20.1.0
CPUs:             Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz (8 x 2300)
Memory (System):  32.00GB (0.30GB free)
Load (avg):       383, 140, 82
VM:               0%
Screen Reader:    no
Process Argv:     --crash-reporter-id c6ff1644-c7b5-4b8a-929c-28debafc7206
GPU Status:       2d_canvas:                  enabled
                  flash_3d:                   enabled
                  flash_stage3d:              enabled
                  flash_stage3d_baseline:     enabled
                  gpu_compositing:            enabled
                  metal:                      disabled_off
                  multiple_raster_threads:    enabled_on
                  oop_rasterization:          enabled
                  opengl:                     enabled_on
                  protected_video_decode:     unavailable_off
                  rasterization:              enabled
                  skia_renderer:              disabled_off_ok
                  video_decode:               enabled
                  webgl:                      enabled
                  webgl2:                     enabled

CPU %	Mem MB	   PID	Process
    3	   131	 49538	code main
   32	    98	 49544	   gpu-process
    0	    33	 49548	   utility
    2	   229	 49549	   window (MyApp1 (Workspace))
   94	   197	 49594	     extensionHost
    0	   131	 49928	       electron_node tsserver.js 
    0	   164	 49929	       electron_node tsserver.js 
    0	    66	 50062	         electron_node typingsInstaller.js typesMap.js 
   30	    98	 50326	           npm
    0	    33	 49955	       electron_node languageserver.js 
    0	    98	 50146	       electron_node eslintServer.js 
    0	    66	 49636	     watcherService
    2	   229	 49552	   window (MyApp2 (Workspace))
    3	    98	 49590	     extensionHost
    0	    98	 49799	       electron_node tsserver.js 
    0	   229	 49800	       electron_node tsserver.js 
    1	    66	 49920	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49817	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=49590
    0	    33	 49818	       electron_node languageserver.js 
    0	    98	 49983	       electron_node eslintServer.js 
    0	    33	 49629	     watcherService
    2	   229	 49553	   window (MyApp3 (Workspace))
    2	    98	 49584	     extensionHost
    0	    98	 49713	       electron_node tsserver.js 
   27	   393	 49714	       electron_node tsserver.js 
    0	    66	 49803	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49731	       electron_node languageserver.js 
    0	    98	 49879	       electron_node eslintServer.js 
    0	    33	 49625	     watcherService
    2	   229	 49554	   window (MyApp4 (Workspace))
    4	   131	 49592	     extensionHost
    0	    98	 49966	       electron_node tsserver.js 
   29	   295	 49969	       electron_node tsserver.js 
    0	    66	 50094	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49987	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=49592
    0	    33	 49989	       electron_node languageserver.js 
    0	   131	 50173	       electron_node eslintServer.js 
    0	    33	 49635	     watcherService
    2	   229	 49556	   window (MyApp5 (Workspace))
    3	    98	 49586	     extensionHost
    0	    98	 49826	       electron_node tsserver.js 
   54	   360	 49828	       electron_node tsserver.js 
    0	    66	 49960	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49866	       electron_node languageserver.js 
    0	    98	 50033	       electron_node eslintServer.js 
    0	    33	 49633	     watcherService
    1	   229	 49557	   window (MyApp6 (Workspace))
    8	    98	 49593	     extensionHost
    0	    98	 50086	       electron_node tsserver.js 
   33	   262	 50087	       electron_node tsserver.js 
    0	    66	 50175	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 50113	       electron_node languageserver.js 
    0	   131	 50206	       electron_node eslintServer.js 
    0	    33	 49637	     watcherService
    3	   229	 49558	   window (MyApp7 (Workspace))
    2	    98	 49585	     extensionHost
    0	   131	 49794	       electron_node tsserver.js 
   39	   393	 49796	       electron_node tsserver.js 
    0	    66	 49917	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49807	       electron_node languageserver.js 
    0	   131	 50015	       electron_node eslintServer.js 
    0	    33	 49627	     watcherService
    4	   197	 49560	   window (MyApp8 (Workspace))
    1	    98	 49588	     extensionHost
    0	    98	 49814	       electron_node tsserver.js 
   26	   393	 49815	       electron_node tsserver.js 
    0	    66	 49948	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49830	       electron_node languageserver.js 
    0	    98	 50055	       electron_node eslintServer.js 
    0	    33	 49632	     watcherService
    1	   197	 49561	   window (MyApp9 (Workspace))
    1	    98	 49587	     extensionHost
    0	    98	 49668	       electron_node tsserver.js 
   25	   393	 49669	       electron_node tsserver.js 
    6	    66	 49754	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49676	       electron_node languageserver.js 
    0	    98	 49787	       electron_node eslintServer.js 
    0	    33	 49624	     watcherService
    2	   229	 49562	   window (MyApp10 (Workspace))
    1	    98	 49582	     extensionHost
    0	    98	 49694	       electron_node tsserver.js 
   31	   393	 49697	       electron_node tsserver.js 
    0	    33	 49785	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49704	       electron_node languageserver.js 
    0	    33	 49762	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=49582
    0	    98	 49865	       electron_node eslintServer.js 
    0	    33	 49630	     watcherService
    0	   229	 49563	   window (MyApp11 (Workspace))
    1	    98	 49589	     extensionHost
    0	    98	 49677	       electron_node tsserver.js 
   41	   393	 49678	       electron_node tsserver.js 
    0	    66	 49763	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49692	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=49589
    0	    33	 49693	       electron_node languageserver.js 
    0	    98	 49804	       electron_node eslintServer.js 
    0	    33	 49623	     watcherService
    2	   229	 49564	   window (MyApp112 (Workspace))
    1	   131	 49591	     extensionHost
    0	   131	 49964	       electron_node tsserver.js 
   23	   295	 49965	       electron_node tsserver.js 
    0	    66	 50091	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 49980	       electron_node languageserver.js 
    0	   131	 50167	       electron_node eslintServer.js 
    0	    33	 49631	     watcherService
   28	   131	 49578	   shared-process
    0	     0	 50380	     /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=](url)

After the first 10 minutes:

CPU %	Mem MB	   PID	Process
    1	    98	 45181	code main
    6	    98	 45192	   gpu-process
    0	    33	 45197	   utility
    1	   131	 45200	   window (MyApp1 (Workspace))
   65	    98	 45246	     extensionHost
    0	    98	 45657	       electron_node tsserver.js 
    0	   229	 45659	       electron_node tsserver.js 
    0	    66	 45760	         electron_node typingsInstaller.js typesMap.js 
    0	    33	 45667	       electron_node languageserver.js 
    0	    66	 45793	       electron_node eslintServer.js 
    0	    33	 45296	     watcherService

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 5
  • Comments: 40 (18 by maintainers)

Commits related to this issue

Most upvoted comments

@deepak1556, thanks for looking into this issue. Apparently, vscode-html-css was the root cause of the CPU issue. A few hours ago an update for this extension arrived https://github.com/ecmel/vscode-html-css/issues/191, and CPU usage went down to normal level.

Thanks to everyone for troubleshooting and prompt replies. Cheers!

I am not tapz, but can share 2 really micro projects, I use with my students, causes same issues.

  • VSCode Version: 1.52.0
  • OS Version: MacOS Big Sur 11.0.1 (20B29)

First is tiny, only 134 LOC, 24 642 files (18 653 files in node_modules only), and causes already ~15 - 25 % CPU load on my macOS Big Sur. https://bitbucket.org/viktorianer/sample-app

Second is small, only 746 LOC, 21 716 files (16 002 files in node_modules only), and causes already ~25 - 40 % CPU load. https://github.com/viktorianer/rails-community-app

The third project, I can not share, it is for my organization only. It has 35 660 LOC, 439 910 files without any files in node_modules folder, and causes ~350 - 500 % CPU load! You cannot work on this project with VS Code.

Running all 3 project together can take down my MacBook Pro (6-Core Intel i7!):

Screenshot 2020-12-15 at 09 14 21

@viktorianer thanks for the profile, but in your case the high cpu usage is from ecmel.vscode-html-css extension, all the profiles point to the calls from the extension, you would want to report the issue there.

Yeh, thank you! They just updated this plugin! https://github.com/ecmel/vscode-html-css/issues/191

Now the CPU is short time over 200%, but after ~10 seconds it has only ~20%. 👍 Thank you for support!

oh, now I understand. Thanks for clarifyiing

@deepak1556 update to the html-css extension did the trick code renderer is now ~10% related issue

Thanks for the prompt response and thanks @dzhgenti for pointing this out.

@viktorianer thanks for the profile, but in your case the high cpu usage is from ecmel.vscode-html-css extension, all the profiles point to the calls from the extension, you would want to report the issue there.

@andrewmacp can you provide the cpu profile for those processes.

Hey guys, I have the same problem on macOS Catalina after upgrading to 1.52.0.

Process: image

OS: image

VS Code:

1.52.0
940b5f4bb5fa47866a54529ed759d95d09ee80be
x64

(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: