Intellij idea очистить кэш
Я работаю в Arch Linux, на 6-ядерном процессоре i7-5930k и 64 ГБ оперативной памяти DDR4, и я использую IntelliJ IDEA 14.
Несколько дней назад у меня IDEA работала нормально, но однажды, внезапно, она начала зависать после открытия проекта на этапе «Индексация». Я не обновлял IDEA, и в моих проектах ничего не изменилось. Пользовательский интерфейс IDE зависает после открытия проекта, остается лишь крошечный ползунок индикатора выполнения для завершения «Индексирования». Примерно каждые 5-10 минут он размораживается, а индикатор выполнения немного перемещается вперед, прежде чем IDE снова зависнет еще на несколько минут. Это происходит неоднократно в течение от 15 минут до часа, пока он, наконец, не завершит индексирование, после чего он зависает еще на 5-10 минут, ничего не делая, прежде чем он наконец разблокируется и позволит мне развиваться.
Пока это происходит, моя система практически не отвечает - вкладки Firefox переключаются долго, а их прокрутка тормозит. Открытие нового окна терминала занимает много времени. Обычно переключение окон занимает некоторое время. В htop одно из ядер моего ЦП загружено на 100%, в то время как остальные имеют нормальную нагрузку, и используется около 6 ГБ ОЗУ (довольно нормальная нагрузка, когда эта система простаивает).
То, что я пробовал, но не помогло:
- Удалить папку кешей
- Удалить всю папку
Эта проблема действительно мешает моему рабочему процессу, если у кого-нибудь есть решение, я был бы очень рад.
Я наконец понял это. Решение было . довольно странным. TL; DR: запускать под strace . Прочтите, чтобы получить более подробное объяснение.
Я наткнулся на это, когда решил запустить IntelliJ под strace , чтобы посмотреть, какие файлы он открывает, чтобы определить, было ли это узким местом файловой системы.
Это дало мне очень странные результаты: strace извергал почти постоянный поток ошибок сегментации. Не только это, но и IntelliJ работал нормально, индексирование не требовалось вечно.
Посоветовавшись с другом, я узнал, что в Arch Linux systemd регистрирует дамп памяти процесса каждый раз, когда происходит segfault, кроме случаев, когда подключен отладчик . strace считается отладчиком. Arch перегружал мои диски, когда продолжал записывать дампы памяти из-за всех ошибок сегментации, поэтому индексирование длилось так долго, потому что он боролся за дисковый ввод-вывод.
На данный момент мое решение - просто запустить IntelliJ под strace . Тем не менее, я займусь этим вопросом дальше, так как не думаю, что java должен сильно нарушать правила.
Я смог решить эту проблему, удалив все мои «целевые» папки из моего проекта.
Я был по всему SO, и даже по форумам JetBrains. Я исключил каталоги через Project Structure | Modules . Я использовал Invalidate Caches And Restart несколько раз. Я попытался открыть только 1 проект, чтобы он закончился. Я установил и попробовал 2019.2.4 и 2019.3.3 (последний вылетал по другим причинам). И, что самое главное, казалось, что это произошло только в одном проекте!
Что в конечном итоге привело меня к ответу, так это то, что Help > Activity Monitor. , где я обнаружил, что psi.impl.cache.impl.todo работает почти на 100% ЦП и не показывает признаков остановки.
Оказалось, что у меня была настройка фильтра TODO с плохо определенным RegEx. Это было что-то вроде \b.*wip\b.* ; идея заключалась в том, чтобы найти все наши ценности "WIP". Что ж, ведущий .* был огромной ошибкой, и я не приходил в голову, пока я не потерял много часов, обвиняя обновление плагина. Я считаю, что причина, по которой это был плохой фильтр, заключалась в том, что проект, на котором он висел, находится на ExtJS, то есть на JavaScript, что означает, что все происходит в трех экземплярах с файлом app.js и еще много чего .
У меня была такая же проблема с IntelliJ 2017.3.2. Когда я щелкнул индикатор выполнения индексации, я заметил, что он висит в каталоге в моем каталоге сборки. Когда я выполнил очистку gradlew, которая удалила этот каталог, индексирование было продолжено.
У меня было несколько (не очень больших) CSV-файлов, служащих входными, и хотя я пометил их как не индексируемые, плагин продолжал пытаться их проиндексировать. Как только я удалил плагин, все заработало.
У меня возникла аналогичная проблема с последней версией IntelliJ Idea 2019.3 , так что, возможно, это поможет. Для меня проблема была с одним из плагинов, удаление / переустановка, очистка кешей не помогли. Мои шаги были:
- Убить intellij, начать все сначала
- Когда он запускается и собирается загрузить проект, быстро отмените открытие проекта. Таким образом, вы получите небольшое окно со списком ранее открытых проектов и несколькими пунктами меню.
- Откройте меню> плагины, отключите их все
- Перезапустите идею intellij, откройте любой проект.
Если шаг 4, описанный выше, был успешным (что случилось со мной), один за другим попробуйте включить плагины, чтобы увидеть, какой из них вызывает ошибку. Для меня это был плагин Kubernetes от JetBrains .
В PhpStorm это решило для меня исключение папок, которые мне не нужно было индексировать, из индексации (в частности, папка поставщика, папка кешей и несколько папок с активами, которые содержали тысячи изображений). Мгновенно он начал прогрессировать и завершился.
- в списке каталогов проекта щелкните правой кнопкой мыши папку, которую вы хотите исключить
- Отметить каталог как
- Исключенный
В моем случае я обнаружил, что Intellij на самом деле пытается проиндексировать каталог размером 50 ГБ с журналами, которые находились в корне проекта. Убедитесь, что если у вас есть такой каталог, он помечен как «Исключено» в среде IDE.
Выберите Help -> Debug Log Settings .
Перезапустите IDE (не нужно аннулировать кеш, поскольку это приведет к его запуску с нуля, тогда как перезапуск с точки сбоя, для меня в любом случае, сообщил о проблемном файле, как только я перезапустился):
Планирование индексации файла: // C: /dev/tools/ruby/lib/ruby/2.2.0/x64-mingw32/win32ole.so по запросу index Stubs
Наш проект не использует win32ole, поэтому я переместил файл в безопасное место и перезапустил свою IDE . Бинго, проблема исчезла, индексирование, наконец, завершено после почти 1 года эффективного использования intellij в качестве редактора рубинов, который немного умнее, чем блокнот. .
У меня тоже была эта проблема с версией 2016.2 в Mac OS X. Мне пришлось выполнить принудительный выход, чтобы завершить приложение, затем я удалил папку .idea. В следующий раз, когда я запустил IntelliJ, все работало нормально, проблем с индексированием проекта не возникло.
Отредактируйте Intellij [ВЕРСИЯ] /bin/idea.properties, установить idea.max.intellisense.filesize=50
обновление: Intellij пропустит индексные файлы размером более 50 КБ. Попробуйте это, если у вас много библиотек или много больших файлов (слишком много символов в одной строке или слишком много строк)
В меню Файл выберите Недействительный кеш / перезапуск . , а затем нажмите кнопку Сделать недействительным и перезапустить .
Иногда IDE делает ошибку из-за кеша. В Eclipse мы можем использовать clean для решения проблемы. Но как я могу это сделать в IntelliJ?
В зависимости от версии, которую вы используете. Это в основном то же самое, просто перейдите в
File -> Invalidate caches, затем перезапустите Intellij
или
File -> Invalidate caches / Restart
Основное отличие состоит в том, что в более старых версиях вам приходилось перезапускать вручную, так как файлы кеша не удаляются до перезапуска. Более новые версии спросят, хотите ли вы также перезапустить.
Как видно здесь, на этой официальной странице справки Jetbrains
Вы также можете попробовать удалить кеши вручную в system папке для установленной версии. Расположение этой папки зависит от вашей ОС и установленной версии.
Windows Vista, 7, 8, 10
<SYSTEM DRIVE>\Users\<USER ACCOUNT NAME>\.<PRODUCT><VERSION>
Linux / Unix
Mac OS
Может быть , не ответ, но это определенно ответ.
Если у вас ничего не работает, выберите ядерный вариант: закройте IDEA и удалите каталог «. /. IntelliJIdea / system» с помощью инструментов локальной файловой системы.
Каталог .IntelliJIdea обычно находится в вашем домашнем каталоге. Ваша конфигурация IDE находится в каталоге ". /. IntelliJIdea / config", так что все должно быть в порядке.
Очевидно, что это не «IDEA» способ сделать это, и он полностью не поддерживается JetBrains. Также - я не использую Android Studio, поэтому я не знаю, вызовет ли это проблемы, но готово.
У меня это работало раньше, когда у меня были проблемы с запуском IDEA, и ничто другое не помогло мне начать работу. Возможно, сделайте резервную копию всего каталога .IntelliJIdea, если вы боитесь потерять всю свою работу>. <
Я пытаюсь использовать Android Studio, и при первой загрузке для компиляции требуется 45 минут. Если я не выйду из приложения, все в порядке - каждая последующая компиляция/запуск приложения займет около 45 секунд.
Я попытался проверить некоторые из моих тайников: есть .gradle/caches папка в моем домашнем каталоге, и это похоже на 123 MB большой.
там же .gradle папка в папке проекта. один из taskArtifacts было похоже на 200 МБ. Я боюсь просто наугад взорвать их обоих. Какие части папок безопасны для удаления?
есть ли лучшее объяснение тому, почему моя Android Studio берет навсегда, чтобы запустить gradle assemble задача при первой загрузке приложения?
должен ли я также очистить кэш intellij?
вы можете безопасно удалить все .gradle папка, расположенная в каталоге проекта. Он будет воссоздаваться каждый раз при выполнении задач. То же самое для .gradle в разделе Домашний каталог. Он также будет воссоздан, но все зависимости должны быть загружены снова - это довольно много времени.
как я вижу в разных местах через веб-gradle для разработки android довольно медленно, и люди жалуются на это. Понятия не имею, что такое причина-вот как это завод.
Я не думаю, что низкая производительность из-за больших папок. На самом деле они помогают ему быть быстрее.
как @Bradford20000 указал в комментариях, может быть gradle.properties файл, а также глобальные скрипты gradle, расположенные под $HOME/.gradle . В таком случае особое внимание необходимо обратить при удалении содержимого этого каталога. Каталог кэша содержит Gradle построить кэш. Поэтому, если у вас есть какая-либо ошибка, вы можете удалить ее. Это .gradle/caches
вы можете сделать это на Android Studio
обновление: выше метод очистит кэш Android Studio, а не ш кэш. ш кэш находится в
- На Windows: %USER_HOME%\.gradle/caches/
- На Mac / Unix: $HOME/.gradle/caches/
вы можете перейти к этим каталогам и вручную удалить его или запустить
на система UNIX. Запуск этой команды также заставит загружать зависимости.
Примечание: Android Studio Файл | Аннулировать Кэш/Перезагрузить не очищает кэш сборки Android, поэтому вам придется очищать его отдельно.
на Mac или Linux:
новейшее решение с использованием задача gradle
cleanBuildCache
доступно через Android плагин для Gradle, версия 2.3.0 (февраль 2017)
- Gradle в 3.3 или выше.
- Build Tools 25.0.0 или выше.
больше at:
построить кэша:
хранит определенные выходы, которые плагин Android генерирует при создании проекта (например, неупакованные AARs и предварительно дексед удаленных зависимостей). Чистые сборки выполняются намного быстрее при использовании кэша, так как система сборки может просто повторно использовать кэшированные файлы во время последующие сборки вместо их воссоздания. Проекты, использующие Android plugin 2.3.0 и выше, по умолчанию используют кэш сборки. Чтобы узнать больше, прочитайте улучшение скорости сборки с помощью кэша сборки.
Примечание: задача cleanBuildCache недоступна, если отключить кэш сборки.
использование:
Android Studio / IntelliJ
* * gradle/gradlew система конкретные файлы, содержащие скрипты - пожалуйста, смотрите информацию о системе, как выполнить скрипт
демон gradle также создает множество больших текстовых файлов каждого журнала сборки. Они хранятся здесь:
"X. X" - это используемая версия gradle, например" 4.4", а" XXXX "- это просто случайные числа, такие как"1234".
общий размер может вырасти до нескольких сотен МБ всего за несколько месяцев. Нет способа отключить ведение журнала, и файлы не удаляются автоматически, и они на самом деле не нужно сохранить.
но вы можете создать small gradle задача автоматически удалить их, и освободить много места на диске:
добавьте это в ваш app/build.gradle :
чтобы увидеть, какие файлы удаляются, вы можете увидеть вывод отладки в Android Studio - > View - > Tool Windows - > Build. Затем нажмите кнопку "Toggle View" в этом окне, чтобы отобразить вывод текста.
обратите внимание, что Gradle Sync или любой Gradle Сборка вызовет удаление файлов.
лучшим способом было бы автоматически переместить файлы в корзину / корзину или, по крайней мере, скопировать их в папку корзины. Но я не знаю как это сделать.
Это нормально для Intelli J, чтобы занять много времени (почти 12 часов), чтобы обновить показатели для проекта? Я только что установил Intelli J на свою машину и импортировал довольно большой проект Maven (13k+ файлы).
Я понимаю, что проект большой, но я позволил своему компьютеру всю ночь, и когда я проснулся утром, Intelli J еще не закончил обновление индексов для файлов, что делает невозможным что-либо сделать, так как всплывающее окно с заголовком "обновление индекса" сохраняет висит в центре экрана.
- дайте больше памяти. Ничего не помогает с "обновлением индексов"
- удалить .идея и iml в проекте. Не помогает.
- удалить папку " кэш " в user/.IntellIJIdea13 / system/
- открыть IntelliJ IDEA
- выберите File меню
- выберите Аннулировать Кэш / Перезапуск.
После выбора вы получите всплывающее окно с кучей вариантов. - выберите отменить и перезапустить
и прежде чем делать это, убедитесь, что вы сохранили все свои изменения, иначе это возможно удаление некоторых несохраненных изменений.
удалить кэш в папке библиотеки
на Mac OSX расположение кэша
- Выйти Из IntelliJ
переместить целом .Каталог IdeaIC2017. 2 в другой крепление, которое имеет больше космос:
обновление bin/idea.properties чтобы указать на новое расположение индекса / конфигурации:
хотя принятые и другие ответы могут решить определенную проблему, я обнаружил, что проблема с очень длительным временем индексирования часто возникает из-за того, что репозиторий содержит или ссылки на некоторый каталог, содержащий большое количество файлов. Часто это делается для тестирования, и каталог, о котором идет речь, фактически не является частью проекта, например, игнорируется VCS.
IDE не игнорирует автоматически эти каталоги при индексировании, но это возможно "исключить" каталог из проекта. Это также предотвратит индексацию.
Читайте также: