5

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

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

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

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

4

1 回答 1

8

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 恕我直言太多了。

于 2020-04-22T05:23:32.287 回答