clangd 使用大量内存(在我的系统上高达 2.5Gig)。在我的 8GIG 系统上,我经常遇到 OOM 情况。
目前我发现的唯一解决方案是在使用大量内存后将其杀死。
clangd 有一些命令行选项,看起来它们可能会减少内存使用量。但我还没有找到如何在 CLion 中配置它们的方法。
CLion 不喜欢通过 ulimit 限制其内存,但也许可以只为 clangd 进程限制内存?
clangd 的默认限制是 8GB,但您可以轻松自定义它。CLion 通过“注册表”为您提供了一系列设置。打开Help | Find Action ...
并查找Registry...
. 在注册表中找到clion.clangd.max.memory
并将值减小到 1000。在这种情况下,如果 CLion 会占用您指定的更多内存,CLion 将自动终止 clangd 进程。
您还可以将Clangd Memory Indicator
小部件添加到底部栏。在最新的 CLion 版本中,您需要右键单击底部栏并启用它。
顺便说一句,clangd 仅适用于打开的文件。因此,在编辑器中打开的文件越少,内存消耗越少。如果不是您最好向 CLion tracker提交票证,因为 2.5 GB 恕我直言太多了。