Clion clangd, как ограничить использование памяти - PullRequest
0 голосов
/ 21 апреля 2020

clangd использует много памяти (до 2,5 гигабайт в моей системе). В моей системе 8GIG я часто сталкиваюсь с ситуациями OOM.

В настоящее время единственное решение, которое я нашел, это убить clangd, когда он использует много памяти.

В clangd есть некоторые параметры командной строки, которые выглядят так, как будто они могут уменьшить использование памяти. Но я не нашел способа их настройки в CLion.

CLion не нравится ограничивать свою память с помощью ulimit, но, возможно, можно было бы ограничить память только для процессов clangd?

1 Ответ

1 голос
/ 22 апреля 2020

Ограничение по умолчанию для clangd составляет 8 ГБ, но вы можете легко настроить его. CLion предлагает вам кучу настроек через «реестр». Откройте Help | Find Action ... и найдите для Registry.... В реестре найдите clion.clangd.max.memory и уменьшите значение до 1000. В этом случае CLion автоматически уничтожит процесс clangd, если он будет использовать больше памяти, что вы указали.

enter image description here

Вы также можете добавить виджет Clangd Memory Indicator в нижнюю панель. В последней версии CLion вам нужно щелкнуть правой кнопкой мыши на нижней панели и включить ее.

enter image description here

Кстати, clangd работает только с открытыми файлами. Так что в редакторе открываются несколько файлов, так как меньше памяти занимает clangd. Если это не ваш случай, лучше отправить заявку на трекер CLion , потому что 2,5 ГБ - это слишком много, ИМХО.

...