[java] IntelliJ-Idea 가속화

저는 Scala 개발을 위해 intelliJ를 사용하고 있으며 지난주에 8GB 의 새 RAM을 얻었 으므로 사용할 시간이라고 생각했습니다. 내 작업 관리자를 확인하고 ~ 250mb를 사용하여 intelliJ를 찾았습니다 . Eclipse에서 JVM 옵션을 조정하는 것이 속도 향상에 많은 도움이된다는 것을 알았으므로 검색했습니다.

발견 OS X이 하나
내가 조정 시작, 그래서 바로 JVM 옵션을 찾을 수 없습니다 I을 의 -Xmx를. 1GB에서 더 이상 시작되지 않는다는 것을 깨달았습니다. intelliJ Java 버전을 확인한 결과 구식이고 32 비트라는 것을 알았습니다.

따라서 현재 JDK 및 64 비트 를 사용하려면 링크를 다음과 같이 변경해야합니다.

IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe

IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT

“시작”조정

박쥐는 JDK_HOME이제 64 비트를 찾고 사용합니다.

내 현재 VM 옵션 은 다음 위치에 있습니다.

...\IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe.vmoptions

아르

-Xms512m
-Xmx1024m
-XX:MaxPermSize=512m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC

대신 -XX:+UseParallelGC사용할 수 있습니다 -XX:+UseConcMarkSweepGC.

데스크톱 앱에 허용되는 선택이지만 최근에 처리량 수집기로 변경했습니다. 빠른 시스템과 충분히 작은 힙을 사용하면 빠른 일시 중지, 더 많은 처리량 및 조각화 문제가 없기 때문입니다 (ijuma. #scala).

변경 사항 :

-XX:+UseConcMarkSweepGC //removed
// removed, because not needed with the lastest JVM.
    -XX:+UnlockExperimentalVMOptions
    -XX:+DoEscapeAnalysis
    -XX:+UseCompressedOops

지금은이 옵션을 고수하겠습니다. 나는 그것에 대한 당신의 경험을 정말로 알고 싶습니다.

가장 적합한 옵션은 무엇입니까? intelliJ를 실행하는 동안이 cmd 창을 어떻게 숨깁 .bat니까? 🙂

그건 그렇고, 여기 intelliJ 튜닝을 위한 또 다른 링크가 있습니다. 기본적으로 그것은에 말한다 p.20 참조 / 21 시스템 DIRS에 대한 복원 창을 끕니다 및 바이러스 백신.

intelliJ 속도를 높이는 또 다른 방법은 intellij 시스템 폴더를 ramdrive 에 넣는 것입니다 (OlegYch | h에게 감사드립니다).

from idea.properties
idea.system.path=${idea.home}/.IntelliJIdea/system

Win 7 64 비트 RAM 드라이브 또는 드라이브 용 수퍼 유저를 참조하십시오 . 1GB는 괜찮아 보입니다.

친구가 내게 준 또 다른 힌트는 바이러스 백신에서 프로젝트 디렉토리제외하는 것입니다 (액세스시 스캔).

Eclipse 튜닝과 관련된 유사한 게시물이 있습니다.



답변

이 조합은 Mavericks에서 실행되는 Intellij13에서 잘 작동합니다.

2017 년 7 월 18 일 업데이트 :

# custom IntelliJ IDEA VM options

-ea
-server
-Xms2G
-Xmx4096M
-Xss2m
-XX:MaxMetaspaceSize=2G
-XX:ReservedCodeCacheSize=1G
-XX:MetaspaceSize=512m
-XX:+UseConcMarkSweepGC
-XX:+DoEscapeAnalysis
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:+UnlockExperimentalVMOptions
-Djava.net.preferIPv4Stack=true
-Dsun.io.useCanonCaches=false
-XX:LargePageSizeInBytes=256m
-XX:+UseCodeCacheFlushing
-XX:ParallelGCThreads=8
-XX:+DisableExplicitGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+PrintGCDetails
-XX:+PrintFlagsFinal
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled
-XX:+UseAdaptiveGCBoundary
-XX:+UseSplitVerifier
-XX:CompileThreshold=10000
-XX:+OptimizeStringConcat
-XX:+UseStringCache
-XX:+UseFastAccessorMethods
-XX:+UnlockDiagnosticVMOptions
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseCompressedOops
-XX:-OmitStackTraceInFastThrow
-Dawt.useSystemAAFontSettings=lcd

-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

https://github.com/adben/config/blob/master/idea64.vmoptions 에서이 설정을 업데이트합니다.


답변

저에게 SSD 드라이브로 전환하면 성능이 크게 향상되었습니다 (특히 대규모 프로젝트의 경우).


답변

얼마 전에 프로젝트의 컴파일 속도를 높일 수있는 방법을 찾고 있었는데 그 결과입니다. 이것은 IntelliJ IDEA 자체가 아니지만 큰 프로젝트를 (재) 구축 할 때 많은 도움이 될 것이며 다른 IDE에서도 작동 할 것이라고 생각합니다. 또한 Linux 접근 방식에 대해 설명했지만 Windows에 자체 RAM 디스크 구현이 있다고 확신합니다.

컴파일 속도를 높이는 가장 쉬운 방법은 컴파일 출력을 RAM 디스크로 이동하는 것입니다.

RAM 디스크 설정

fstab 열기

$ sudo gedit /etc/fstab

(대신 gedit당신이 vi원하는대로 사용할 수 있습니다 )

RAM 디스크 마운트 지점 설정

시스템의 여러 위치에서 RAM 디스크를 사용하고 있는데 그중 하나는 /tmp이므로 컴파일 출력을 거기에 넣겠습니다.

tmpfs /var/tmp tmpfs defaults 0 0

이 경우 파일 시스템 크기는 제한되지 않지만 괜찮 /tmp습니다. 현재 내 크기는 73MB입니다. 그러나 RAM 디스크 크기가 너무 커질 까봐 두렵다면 크기를 제한 할 수 있습니다. 예 :

tmpfs /var/tmp tmpfs defaults,size=512M 0 0

프로젝트 설정

IntelliJ IDEA에서 프로젝트 구조 ( Ctrl+Alt+Shift+S기본적으로)를 연 다음 프로젝트- ‘프로젝트 컴파일러 출력’으로 이동하여 RAM 디스크 마운트 지점으로 이동합니다.

/tmp/projectName/out

( projectName필요한 경우 쉽게 찾을 수 있도록 폴더를 추가 했거나 여러 프로젝트를 동시에 작업 할 것입니다)

그런 다음 모듈로 이동하고 모든 모듈에서 경로로 이동하여 ‘프로젝트 컴파일 출력 경로 상속’을 선택하거나 사용자 지정 컴파일 출력 경로를 사용하려면 ‘출력 경로’및 ‘테스트 출력 경로’를 수정합니다. 그것은 전에 컴파일러 출력을 프로젝트합니다.

그게 다야!

추신 : 몇 가지 숫자 : 다른 경우에 내 현재 프로젝트 컴파일 시간 (대략) :

HDD:     80s
SSD:     30s
SSD+RAM: 20s

PPS SSD 디스크를 사용하면 컴파일 속도가 빨라지는 것 외에도 디스크에서 쓰기 작업이 줄어들어 SSD가 행복하게 살 수 있도록 도와줍니다;)


답변

에 관해서:

.bat를 통해 intelliJ를 실행하는 동안이 cmd 창을 어떻게 숨깁니까?

‘start’명령과 javaw.exe를 함께 사용하십시오.

SET JAVA_EXE=%IDEA_JDK%\jre\bin\java.exe
...
"%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*

다음으로 변경하십시오.

SET JAVA_EXE=%IDEA_JDK%\jre\bin\javaw.exe
...
start "Intellij IDEA" /b "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*


답변

IntelliJ에서 할 수있는 가장 유용한 일은 디스크 캐싱을위한 많은 여유 메모리 를 확보하는 것 입니다. IntelliJ는 캐시 된 파일에 많은 처리 작업을 저장합니다. 여유 메모리가 많으면 잘 작동하지만 디스크 캐시가 제한되어 있으면 규칙적이고 오래 지속되는 일시 중지가 표시됩니다.

나는 -XX:+UseConcMarkSweepGC보다는 오히려 제안 할 것 G1입니다.

또한 파일 액세스 지연을 최소화하기 위해 파일의 로컬 복사본을 작업합니다.

BTW : 현재 진행중인 프로젝트에서 최대 힙이 2GB로 설정되어 있어도 24GB의 컴퓨터와 48GB의 컴퓨터에서 작업하는 것의 차이를 발견했습니다.)


답변

몇 가지 실험을 해본 결과 GC 일시 중지를 줄이려면 다음 조합이 가장 잘 작동하는 것으로 나타났습니다 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50..

나는 또한 힙을 너무 크게 만들지 않을 것입니다. 512 이하는 괜찮습니다. 그렇지 않으면 가득 차면 GC가 모든 것을 걸어야하는데 시간이 걸립니다.


답변

여기에서 좋은 팁을 찾을 수 있습니다. 예를 들어, “파일 동기화 끄기”기능을 끈 후 IDEA에서 다른 앱으로 또는 그 반대로 전환하는 속도가 크게 향상되었습니다.

http://hamletdarcy.blogspot.com/2008/02/10-tips-to-increase-intellij-idea.html