Wskazówki dotyczące obsługi dużych projektów za pomocą Maven i IntelliJ IDEA
Czytałam to post na blogu o doświadczeniach zespołu wykorzystującego Intellij Idea do dużych projektów Mavena, a także spojrzał na podobne pytanie wysłane około 2 lat temu dla IDEA V.10.0.2.
Jedna z porad wymienionych w pierwszym miała sens :
Przenieś C:\Users\$user\.IntelliJIdea12
do folderu, do którego nie ma dostępu-skanowanego przez program antywirusowy.
Przeszukałem wokół opcji performance centric VM i obecnie mój idea64.exe.vmoptions
wygląda tak:
-Xms1200m
-Xmx1200m
-XX:MaxPermSize=200m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-Dsun.io.useCanonCaches=false
Pytania
Czy masz jeszcze jakieś takie wskazówki, aby poprawić wydajność Intellij IDEA (12.1.3, 64 bit) z dużymi / ogromnymi projektami maven ?
Czy mógłbyś podzielić się swoimi odkryciami w opcjach VM w
idea64.exe.vmoptions
i / lub konfiguracji idei widea.properties
.Próbowałem użyć JDK 7 do uruchomienia pomysłu, ale to nie wydaje się strasznie wpływać na jego wydajność w ten czy inny sposób. Jeśli próbowałeś więc, doświadczyłeś tego samego ?
3 answers
Zgodnie z sugestią @CrazyCoder, zastosowałem się do kroków na oficjalnym FAQ w tej sprawie:
wspólne rozwiązania problemów z wydajnością IntellJ IDEA
W szczególności, następujące wydaje się mieć znaczący wpływ:
-
Przeniesiono
c:/Users/$user/.IntelliJIdea12
do lokalizacji wykluczonej przez skaner dostępu McAfee i zaktualizowano$INTELLJ_INSTALL_FOLDER/bin/idea.properties
, aby wskazać nową lokalizację w ten sposób (gdziec:/dev
jest folderem wykluczonym przez McAfee):Pomysł.config.path = c: / dev/.IntelliJIdea12 / config
pomysł.system.path = c: / dev/.IntelliJIdea12 / system
pomysł.wtyczki.path = c: / dev/.IntelliJIdea12/config / plugins
pomysł.log.path = c: / dev/.IntelliJIdea12 / system / log
In
$INTELLJ_INSTALL_FOLDER/bin/idea.properties
setidea.jars.nocopy=true
as documented in to wpis na blogu.-
Jedyne zmiany jakie pozostały to te sugerowane w zbyt niski rozmiar sterty na 64-bitowy JVM. Oto co mam aktualnie w tym pliku:
- Xms1200m
- Xmx1200m
-XX: + UseCompressedOops
-XX: MaxPermSize=350m
- XX:ReservedCodeCacheSize=96m
-XX: + UseCodeCacheFlushing
-ea
-Dsun.io. useCanonCaches=false
-Djava. net. preferIPv4Stack=true Wyłączona wtyczka Git integration ponieważ używam głównie linii komend Cygwin-Git.
-
To było przydatne do monitor
.IntelliJIdea12/idea.log
. Na przykład : wyłączyłem wtyczkę osmorc (dla OSGI) po tym, jak zobaczyłem, że często rejestrowano błąd podczas próby otwierania plików zip w projektach. Przykładowy błąd:WARN-pi.vfs.impl.słoik.JarHandlerBase-błąd podczas otwierania pliku zip: C:\dev\a-maven-project\pom.XML java.util.zip.ZipException: błąd w Otwieranie pliku zip na Javie.util.zip.ZipFile.open (Native Method)
na Javie.util.zip.ZipFile.(ZipFile.java:127)
na java.util.zip.ZipFile.(ZipFile.java:143) -
Wyłączono wszystkie wtyczki, których nie potrzebuję. Aktualna lista wyłączonych wtyczek to:
Wyłączone wtyczki: ASP (0.1), Android Designer, Android Support (10.0), Atlassian Connector for IntelliJ IDE (3.0.9, SVN:1212171008), Base Cucumber (1.0), BashSupport (1.1beta16), Obsługa CFML (3.53), CheckStyle-IDEA( 4.2), Integracja ClearCase (2.0), Cloud Foundry integracja (1.0), Integracja CloudBees (1, 0), Commander (1, 0, 0), Copy as HTML (0.8.1), Cucumber for Groovy (1.0), Cucumber for Java (1.0), Database Navigator (3.0.2501), Opisz Klucz (0.3), Drools Wsparcie (1.0), Integracja Eclipse( 3.0), Obsługa Flash/Flex (1.0), Obsługa GWT (1.0), Integracja Geronimo (1.0), Integracja Git (8.1), GitHub, Integracja Z Google App Engine( 1.1.4), Konsola Grep (1.1), GuiceyIDEA (8.0), HAML, IDEtalk (1.0), IdeaVim (0.28), identyfikator Highlighter (3.62), IntelliJad Plus (0.5.6), JBoss Integracja (1.0), JBoss jBPM( 2.0.0), Jrebel Plugin (2.0.2), JavaFX (1.0), Key promoter (1.0.11), Log4JPlugin (1.02), Markdown (0.8.3), Osmorc (1.4.3), Integracja Perforce (2.0), PluginUpdateNotifier (2.0.3), RemoteTail (0.3.4), Integracja Resin (8.1), Ruby (5.4.0.20130410), zapytanie SQL Plugin (2.2), SSH Remote Run( 0.1), Obsługa Seam Pageflow (1.0), Seam Obsługa Stron (1.0), Obsługa Seam (1.0), SmarterEditor (0.8.3), Struts Wtyczka Navigator (1.3.4), Integracja Z Subversion (1.1), TFS Integracja (999.999), Obsługa Tapestry (1.0), TestNG-J (8.0), UI Designer, UI Designer( Core), Obsługa Vaadin (1.0), Visual SourceSafe Integracja (2.0), Integracja WebLogic (1.0), Integracja WebSphere (1.0), ZKM-Unscramble (1.0), obsługa dmServer (0.9.5), hg4idea (10.0), soapUI Plugin (3.5)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-09 08:30:21
Czasami może zabraknąć pamięci na dużym projekcie. Proces importu dużego projektu maven nie powiedzie się.
Więc jeśli któryś z modułów twojego projektu jest podkreślony czerwoną linią i widzisz
Exception java.lang.OutOfMemoryError: GC overhead limit exceeded
Na nim, przejdź do "Ustawienia - > narzędzia kompilacji - > Maven - > importowanie", i znajdź tam opcję" Opcje maszyny wirtualnej dla importera". Zwiększ limit, ustaw go na -Xmx1g
(lub więcej).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:23
IntelliJ IDEA 2017.2 Dodano naprawdę fajną funkcję , która bardzo pomaga podczas pracy z dużymi projektami. Zasadniczo możesz zaznaczyć, które moduły zostaną załadowane przez pomysł, a które nie. Rozładowane Moduły nie będą w żaden sposób dotykane przez IDE. Nie będą indeksowane, przeszukiwane, nie będą poddawane refaktoryzacji podczas kontroli. Załadowane / rozładowane moduły można szybko skonfigurować w oknie dialogowym załaduj/rozładuj moduły . Okno dialogowe można otworzyć za pomocą
Drzewo Projektu okno → kliknij prawym przyciskiem myszy na pliku → załaduj / rozładuj Moduły...
Tymczasowe zmniejszenie liczby modułów, z którymi współpracuje IDEA, znacznie zwiększy wydajność dużych projektów. Więcej informacji na temat tej funkcji i innych usprawnień wydajności dla IntelliJ IDEA można znaleźć w wpisie na blogu, który napisałem: IntelliJ IDEA Tips & Tricks: Improving performance
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 08:10:55