2015-09-13 14 views
25

Io corro su Arch Linux, su una CPU i7-5930k 6 core e 64 GB di RAM DDR4, e sto usando IntelliJ IDEA 14.Perché IntelliJ IDEA è appeso a "Indicizzazione"?

IDEA stava lavorando bene per me alcuni giorni fa, ma uno giorno, improvvisamente, ha iniziato a pendere dopo l'apertura di un progetto, durante la fase di "Indicizzazione". Non ho aggiornato IDEA e non è cambiato nulla sui miei progetti. L'interfaccia utente dell'IDE si blocca dopo l'apertura del progetto, con solo un piccolo frammento della barra di avanzamento per "Indicizzazione" completata. Ogni 5-10 minuti circa si sblocca e la barra di avanzamento scorre un po 'in avanti, prima che l'IDE si blocchi nuovamente per qualche altro minuto. Questo accade ripetutamente per un tempo compreso tra 15 minuti e un'ora, fino a quando non è finalmente terminato l'indicizzazione, a quel punto si blocca per altri 5-10 minuti senza fare nulla, prima che alla fine si sblocchi e mi permetta di sviluppare.

Mentre ciò accade, il mio sistema non è abbastanza reattivo. Le schede di Firefox richiedono molto tempo per passare e lo scorrimento su di esse è lento. L'apertura di una nuova finestra di terminale richiede molto tempo. Il passaggio a Windows in generale richiede un po 'di tempo. In htop, uno dei miei core della CPU viene caricato al 100% mentre il resto ha un carico normale e circa 6 GB di RAM viene utilizzato (carico abbastanza normale quando il sistema è inattivo.)

Le cose che ho provato che non hanno aiutato:

  • Elimina cartella cache
  • Elimina intero cartella del pacchetto ~/.IntelliJIDEA14
  • Reinstallare IntelliJ
  • Scarica IntelliJ manualmente dal sito JetBrains' ed eseguirlo dalla mia cartella Download (per vedere se ci fosse qualcosa di sbagliato in th e Arch AUR pacchetto)
  • Configurare IntelliJ per usare il mio JVM del sistema e Maven per l'importazione al posto dei suoi strumenti integrati
  • di apertura più progetti diversi (non solo quello inizialmente ho sperimentato il problema su.)

Questo problema sta davvero danneggiando il mio flusso di lavoro, se qualcuno avesse una soluzione a questo sarei molto grato.

+0

Qualcos'altro è cambiato sulla macchina? Nuovo jvm/jdk? Nuova dipendenza/vasi nel tuo progetto?È solo questo un progetto che non indicizzerà, o tutto? – vikingsteve

+0

Il tuo progetto si trova su un file system di rete? Hai provato un'altra versione di IntelliJ? C'è qualcosa di interessante nei registri? (probabilmente '~/.IntelliJ/system/log') –

+0

@vikingsteve Nient'altro per quanto ne so, e come ho detto nella mia domanda, ho provato diversi progetti. Come, funzionava, ho chiuso IntelliJ, riavviato un po 'più tardi, e poi quando ho riaperto IntelliJ dopo il riavvio, ha iniziato a farlo. – AppleDash

risposta

11

Ho finalmente capito. La soluzione era ... piuttosto strana. TL; DR: eseguilo sotto strace. Continua a leggere per una spiegazione più dettagliata.

L'ho trovato quando ho deciso di eseguire IntelliJ sotto strace per vedere quali file si stava aprendo per determinare se si trattasse o meno di un collo di bottiglia del filesystem.

Questo mi ha dato alcuni risultati molto strani: strace stava spargendo un flusso quasi costante di segfaults. Non solo, ma IntelliJ stava funzionando bene, non prendendo per sempre l'indice.

Dopo aver consultato un amico, ho appreso che su Arch Linux, systemd registra un dump della memoria di un processo ogni volta che si verifica un segfault, tranne quando è collegato un debugger. strace è considerato un debugger. Arch stava distruggendo i miei dischi quando continuava a registrare i dump della memoria a causa di tutti i segofault, quindi perché l'indicizzazione richiedeva così tanto tempo, perché stava combattendo per l'I/O su disco.

La mia soluzione per ora è semplicemente eseguire IntelliJ sotto strace. Tuttavia, esaminerò ulteriormente il problema, poiché non penso che lo java debba essere segmentato così tanto.

5

modificare IntelliJ [versione] /bin/idea.properties, impostare idea.max.intellisense.filesize=50

aggiornamento: Intellij salterà indice file che taglia più grande rispetto 50kb.try questo se si dispone di molte librerie o molti file di grandi dimensioni (troppi caratteri una riga o troppe righe)

+2

Mentre il suggerimento potrebbe rispondere alla domanda, non è assolutamente necessario fornire suggerire perché potrebbe risolvere il problema. Questo rende la risposta (se del caso) meno utile agli altri. Quindi, ti preghiamo di prendere in considerazione la spiegazione del tuo suggerimento. – rpy

30

Provare Invalidating the cache and restarting IntelliJ.

Nel menù File, selezionare Invalidate Caches/Restart ... e quindi fare clic sul pulsante Riavvia invalidare e .

+6

Questo ha funzionato per me, ma devi essere veloce come se non riuscissi a entrare nel menu abbastanza velocemente che si congela di nuovo. – GameSalutes

6

Ho riscontrato questo problema anche con la versione 2016.2 su Mac OS X. Ho dovuto eseguire una chiusura forzata per chiudere l'applicazione, quindi ho eliminato la cartella .idea. La prossima volta che ho lanciato IntelliJ, tutto ha funzionato bene, non ha avuto problemi a indicizzare il progetto.

+0

Finalmente un modo semplice che funziona COMPLETAMENTE. Non ho idea di cosa lo stia causando esattamente, proverò a rimuovere i file della cartella .idea di cui ho fatto il backup in seguito, vedendo quale file in particolare causa questo problema. – LittleTiger

4

Selezionare Guida -> Impostazioni registro di debug ...

Aggiungere la seguente riga (si noti il ​​simbolo principale #)

# com.intellij.util.indexing: trace

Riavviare l'IDE (non è necessario invalidare la cache in quanto causerà l'avvio da zero, mentre il riavvio dal punto di errore, per me comunque, ha segnalato il file problema non appena ho riavviato):

Scheduling indicizzazione dei file: // C: /dev/tools/ruby/lib/ruby/2.2.0/x64-mingw32/win32ole.so richiesta di matrici di indice

Il nostro progetto doesn' t uso win32ole così ho spostato il file in un posto sicuro e ho riavviato il mio IDE ... Bingo, problema risolto, l'indicizzazione finalmente completata dopo quasi 1 anno di utilizzo efficace di intellij come editor rubino leggermente più intelligente del notepad.

+0

dov'è il registro di debug ??? -> HELP -> SHOW LOG IN FILE MANAGER – Toskan

0

Ho avuto lo stesso problema con IntelliJ 2017.3.2. Quando ho fatto clic sulla barra di avanzamento dell'indicizzazione, ho notato che era appeso su una directory all'interno della mia directory di build. Quando ho fatto un gradlew clean che ha rimosso quella directory, l'indicizzazione è stata in grado di procedere.

0

ho incontrato questo problema e risolto è:

  1. rimuovere idea
  2. eliminare tutti i file e le dirs il cui nome regex 'jetbrain' e 'IntelliJ' nel mio computer (Mac mini)
  3. quindi installare idea

ho anche provare solo eliminare i file della cache idea, ma non lavoro.