Replies: 2 comments 1 reply
-
Hey @rockpunk, thanks for sending this in. At first glance, I haven't seen this before. I've transfered this over to the main Metals repo since this isn't really specific to |
Beta Was this translation helpful? Give feedback.
0 replies
-
@rockpunk which bsp-server do you use? It seems that |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi! Not sure where the right place to post this is, but i've been trying to use vim-metals and coc-metals on a production scala monorepo. We have about 40 submodules in the monorepo. After bloop imports the project, things work admirably well, but after a while of jumping between files things turn a bit to mush. The laptop starts heating up and the fans are occasionally pegged. One time, the entire laptop started swapping and crashed as well.
Upon investigating what might be causing this, I noticed that after opening a scala project with coc-metals and working with it, i noticed a ridiculous number of spawned jvm processes, all related to the CompileServer. (Very little documentation about this exists, so i'm not really sure what it's supposed to be doing other than, well... compiling things...)
Not sure why so many CompileServers need to be running.
The number of processes tend to fluctuate during use. After a while things start going down and eventually disappear completely.
Strangely, none of the CompileServer processes show up as child processes from vim directly.
And they all seem to be spawned by a bash subshell which is immediately returned to the init process
After waiting for a while and not doing anything in nvim, the CompileServer processes finally die on their own.
However, immediately after I execute a simple
gd
to jump to a definition in an already existing buffer, 3 CompileServer processes are spawned, which soon grow to over 200!While I'm not sure that CompileServer is for sure the reason my laptop starts consuming a ridiculous amount of memory, it seems like a likely culprit. JVM processes aren't cheap.
Any idea of what craziness might be causing this? Is this a misconfiguration on my end? Or does metals or bloop or something really spawn one server per file that needs to be compiled??
If I can get this memory management under control, VIM + metals might actually be a workable IDE for me in production.
Thanks for any help y'all might have and appreciate all the work you've put in to make scala development featureful on vim.
Beta Was this translation helpful? Give feedback.
All reactions