Clion clangd,如何限制内存使用

Clion clangd, how to limit memory usage

clangd 使用大量内存(在我的系统上高达 2.5Gig)。在我的 8GIG 系统上,我经常 运行 遇到 OOM 情况。

目前我找到的唯一解决方案是在 clangd 使用大量内存后将其杀死。

clangd 有一些命令行选项看起来可以减少内存使用。但我还没有找到如何在 CLion 中配置它们的方法。

CLion 不喜欢通过 ulimit 限制其内存,但也许可以只为 clangd 进程限制内存?

clangd 的默认限制为 8GB,但您可以轻松自定义它。 CLion 通过 "registry" 为您提供了一系列设置。 打开 Help | Find Action ... 并找到 Registry...。在注册表中找到 clion.clangd.max.memory 并将值减少到 1000。在这种情况下,如果 clion 会占用您指定的更多内存,它会自动终止 clangd 进程。

您还可以将 Clangd Memory Indicator 小部件添加到底栏。在最新的 CLion 版本中,您需要右键单击底部栏并启用它。

顺便说一句,clangd 只适用于打开的文件。因此,随着内存 clangd 消耗的减少,在编辑器中打开的文件越少。如果不是您的情况,最好向 CLion tracker 提交票证,因为恕我直言,2.5 GB 太多了。