2015-09-13 2 views
25

Я бегу на Arch Linux, на i7-5930k 6 ядерный процессор и 64 Гб оперативной памяти DDR4, и я использую IntelliJ IDEA 14.Почему IntelliJ IDEA висит на «индексировании»?

IDEA работал просто отлично для меня несколько дней назад, но один день, внезапно, он начал висит после открытия проекта во время этапа «Индексация». Я не обновлял IDEA, и ничего не изменилось в моих проектах. Пользовательский интерфейс IDE зависает после того, как он открывает проект, с помощью всего лишь маленькой щели индикатора выполнения для «индексации». Каждые 5-10 минут или около того он размораживается, и индикатор выполнения немного продвигается вперед, прежде чем среда снова замерзает еще несколько минут. Это происходит неоднократно в течение 15 минут и часа, пока он не завершит индексирование, и в этот момент он висит еще 5-10 минут, ничего не делая, прежде чем он окончательно разблокируется и позволяет мне развиваться.

Пока это происходит, моя система довольно не отвечает - вкладки Firefox долго переключаются, а прокрутка в них - лагги. Открытие нового окна терминала занимает много времени. Переключение окон в целом занимает некоторое время. В htop один из моих ядер процессора загружен со скоростью 100%, в то время как остальная часть имеет нормальную нагрузку, и используется примерно 6 ГБ ОЗУ (довольно нормальная нагрузка, когда эта система не работает.)

Вещи, которые я пробовал, помогло:

  • Удалить папку кэши
  • Удалить все ~/.IntelliJIDEA14 папку
  • Переустановка IntelliJ пакет
  • Скачать IntelliJ вручную с сайта JetBrains' и запустить его из моей папки Downloads (чтобы увидеть, если там было что-то не так с д Арк AUR пакет)
  • Настройка IntelliJ использовать мою систему виртуальной машины Java и Maven для импорта вместо своих встроенных инструментов
  • Открытие нескольких различных проектов (а не только один я сначала испытал вопрос о.)

Эта проблема действительно вредит моему рабочему процессу, если у кого-то есть какое-то решение этого, я был бы очень благодарен.

+0

Что-нибудь еще изменилось на вашей машине? Новый jvm/jdk? Новая зависимость/банки в вашем проекте?Это только один проект, который не будет индексировать, или все? – vikingsteve

+0

Ваш проект расположен в сетевой файловой системе? Вы попробовали другую версию IntelliJ? Есть что-то интересное в журналах? (вероятно, '~/.IntelliJ/system/log') –

+0

@vikingsteve Ничего другого, насколько мне известно, и, как я сказал в своем вопросе, я пробовал разные проекты. Например, он работал, я закрыл IntelliJ, позже перезагрузился, а затем, когда я снова открыл IntelliJ после перезагрузки, он начал это делать. – AppleDash

ответ

11

Я, наконец, понял это. Решение было ... Скорее странно. TL; DR: Запустите его под номером strace. Читайте дальше для более подробного объяснения.

Я столкнулся с этим, когда решил запустить IntelliJ под номером strace, чтобы посмотреть, какие файлы он открывает, чтобы определить, было ли это узким местом файловой системы.

Это дало мне очень странные результаты: strace извергал почти постоянный поток segfaults. Не только это, но IntelliJ работает просто отлично, а не вечно индексировать.

После консультации с другом я узнал, что в Arch Linux система d записывает дамп памяти процесса каждый раз, когда возникает segfault, , за исключением случаев, когда отладчик подключен. strace считается отладчиком. Arch избивала мои диски, когда они сохраняли записи дампов памяти из-за всех segfaults, поэтому почему индексация занимала так много времени, потому что она боролась за дисковый ввод-вывод.

Моим решением на данный момент является просто запустить IntelliJ под strace. Тем не менее, я буду изучать этот вопрос, так как я не думаю, что java должно быть так сильно искажено.

5

редактировать IntelliJ [VERSION] /bin/idea.properties, набор idea.max.intellisense.filesize=50

обновление: Intellij пропустит индексные файлы, которые размер больше, чем 50kb.try это, если у вас есть много библиотек или много больших файлов (слишком много символов в одной строке или слишком много строк)

+2

Хотя ваш намек может ответить на вопрос, он абсолютно не предоставляет никаких подскажите, почему это может решить проблему. Это делает ответ (если вообще) менее полезным для других. Поэтому, пожалуйста, подумайте о том, чтобы рассказать о своем намеке. – rpy

30

Попробуйте Invalidating the cache and restarting IntelliJ.

В меню Файл выберите Invalidate кэширует/Restart ..., а затем нажмите Invalidate и перезапуска кнопку.

+6

Это сработало для меня, но вы должны быть быстры, как если бы вы не могли быстро добраться до меню, это снова замерзает. – GameSalutes

6

У меня была проблема с версией 2016.2 на Mac OS X. Мне пришлось сделать силовое завершение для завершения приложения, после чего я удалил папку .idea. В следующий раз, когда я запустил IntelliJ, все работало нормально, у него не было проблем с индексированием проекта.

+0

Наконец-то простой способ, с помощью которого ПОЛНОСТЬЮ работает. Не знаю, что именно вызывает его, попробует удалить файлы из папки .idea, которую я создал позже, видя, какой файл, в частности, вызывает эту проблему. – LittleTiger

4

Выберите Справка -> Настройки журнала отладки ...

Добавьте следующую строку (обратите внимание на главный символ #)

# com.intellij.util.indexing: след

Перезапустите IDE (не нужно отменять кеш, поскольку это приведет к его запуску с нуля, тогда как перезагрузка с момента сбоя, для меня в любом случае, сообщалось о файле проблемы сразу после перезапуска):

Планирование индексирования файла: // C: /dev/tools/ruby/lib/ruby/2.2.0/x64-mingw32/win32ole.so по заказу индекса окурки

Наш проект Безразлично» t использовать win32ole, поэтому я переместил файл в безопасное место и перезапустил мою среду IDE ... Bingo, проблема исчезла, индексирование наконец завершилось после почти 1 года эффективного использования intellij в качестве немного более умного, чем нобеля рубинового редактора.

+0

где журнал отладки ??? -> ПОМОЩЬ -> ПОКАЖИТЕ ВХОД В ФАЙЛ-МЕНЕДЖЕР – Toskan

0

У меня была та же проблема с IntelliJ 2017.3.2. Когда я нажал на индикатор прогресса индексирования, я заметил, что он был висел в каталоге в моем каталоге сборки. Когда я выполнил очистку gradlew, которая удалила этот каталог, тогда индексирование могло продолжить.

0

Я столкнулся с этой проблемой, и решить ее:

  1. удалить идея
  2. удалить все файлы и каталоги, название которых регулярное выражение «jetbrain» и «IntelliJ» в моем компьютере (Mac мини)
  3. затем установить идея

Я также пытаюсь просто удалить файлы идея кэша, это не работает.