How do you control the memory footprint of WebStorm
I've noticed the memory footprint of WebStorm with a large Angular project loaded is 10GB+ When I look at the processes running, I see a ton of NODE processes, but why? This is the screenshot, I'm running Fedora 40, Gnome 46 on Wayland, and I can't imagine this makes any sense.
This screenshot shows the memory footprint is ~15 GB

Now the screenshot is an exception, but I normally see 10GB+, this is a more typical process list:

I have my memory limit set to 4GB, but apparently that limit doesn't actually impose to the running processes.
Please sign in to leave a comment.
IDE can spawn different language services (Typescript, linters, tailwindcss,etc.) depending on your settings/plugins/project dependencies.
Please check the
node
command arguments in task manager to see what script is eating the memory.Why? What is Java needing for 4 GB+ of memory for if it can't contain the language services, and the linters? It's launching processes but losing control of them, and then relaunching them. The point of the IDE is to host the language services, which includes linters, spawning them off is crazy.
The bottom node entry ~730 MB is for the JavaScript language service. The one at ~2.4 GB is the linter, and on top of that I still have to launch a web server to run the code. The 4 GB memory limit means nothing if it doesn't control the spawned processes.
I'll grant you need to run the web server, so take that off the table, so the spawned process are taking almost as much memory as Java. How do you strip everything out. I've also turned off all plugins except for the linter.
The IDE needs to integrate with certain tools, such as the Typescript compiler or ESLint, which are JavaScript applications executed with node. Settings for java heap size can't affect node.js applications, they only control the Java memory usage. It is important to note that the IDE does not have control over the memory usage of these services, as they are third-party tools not developed by JetBrains. If needed, you have the option to disable the ESLint integration and the Typescript language service by navigating to Settings | Languages & Frameworks | JavaScript | Code Quality Tools | ESLint and Settings | Languages & Frameworks | TypeScript respectively.
Thank you for your understanding.
It doesn't make sense to me as well since VSCode has the same language services running (Typescript, ESLint) and the memory usage is reasonable.
I just opened a relatively large project and the memory usage is already 9GB. Haven't even started building and running the backend services. It's hard to use it nowadays with it constantly swapping :(
I can turn off some options and services, but asking to turn off the language server doesn't make sense – that's the whole point of using the IDE.
----------------
WebStorm 2024.3.4
Please could you check what processes are eating the memory? You can expand the
WebStorm
node in the task manager to see the usage of each subprocess, or usetop
/htop
utility to track it.Pretty much just eslint and typescript. It's ~7GB when this screenshot is taken, but it usually goes up to 9GB+.
(might have to save the image and zoom in … sorry)
Thank you. As I can see, both processes consume about 2 gb. How much the ESLint process consumes when you open the same app in VSCode?
Thanks, reproduced; we are looking into the issue.
This performance effect may come from the following difference between WebStorm and VScode:
tsconfig.json
which may cause the server to work differentlynode
, VSCode use a customnode
embedded into the Electron build. We have plans to try this kind of node integration in the future.Hi, we're experiencing the same issue with a medium-sized TypeScript monorepo.
We noticed that WebStorm uses around 4.5GB of memory just for the TypeScript language service, even when opening a single
.ts
file. Looking at the process, it seems WebStorm is loading/watching all TypeScript files in the entire repo.In contrast, VSCode consumes around 1GB, even when working with multiple files across several projects. It appears that VSCode loads projects on demand, whereas WebStorm eagerly loads everything.
This behavior doesn't scale well for our team of 200+ developers, especially for those using 16GB MacBooks. Many of our developers have had to switch to VSCode because WebStorm becomes unusable in this setup.
We’d strongly recommend marking this issue as high priority, especially given that monorepo support is a key reason we prefer using WebStorm.
Thanks!
Is there a youTrack that we can follow-up on?