Clion clangd,如何限制内存使用

arv*_*ved 2 clion clangd

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

目前我发现的唯一解决方案是在使用大量内存时杀死 clangd。

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

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

Max*_*aev 5

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

在此处输入图片说明

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

在此处输入图片说明

顺便说一句,clangd 仅适用于打开的文件。因此,在编辑器中打开的文件越少,clangd 占用的内存就越少。如果将票提交给 CLion tracker不是你的情况更好,因为 2.5 GB 太多恕我直言。