sourcecode

속도 향상 인텔리J-Idea

copyscript 2022. 9. 17. 09:52
반응형

속도 향상 인텔리J-Idea

Scala 개발에 IntelliJ를 사용하고 있는데, 지난주에는 8GB의 새로운 RAM을 구입했기 때문에 사용할 때가 되었다고 생각했습니다.작업 매니저를 확인해보니 인텔리J는 ~250MB를 사용하고 있었습니다.이클립스부터 JVM 옵션을 조정하는 것이 속도 향상에 큰 도움이 된다는 것을 알았기 때문에 검색했습니다.

OS X 으로 JVM 옵션을 바로 찾을 수 없어서 Xmx를 조정하기 시작했습니다.1GB에서 더 이상 시동이 걸리지 않는다는 것을 깨달았습니다.인텔리J Java 버전을 확인해보니 구식이고 32비트입니다.

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

IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe

로.

IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT

및 "시작"을 조정합니다.

the for for for를 찾는다.JDK_HOME64번입니다.

현재 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, 「」)

데스크톱 어플리케이션의 선택은 허용되지만 최근 throughput collector로 변경되었습니다.빠른 머신과 작은 힙을 사용하면 짧은 일시정지, 더 많은 throughput, fragmentation(ijuma) 문제가 없기 때문입니다.#150a)

변경 사항:

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

일단은 이 선택지를 고수하겠습니다.저는 당신의 경험을 꼭 알고 싶습니다.

떤떤 옵션 션??인텔리J를 때 이 요?.bat : ? : )

덧붙여서 인텔리J 튜닝용 링크는 이쪽입니다.기본적으로 페이지 20/21에서 시스템 dir에 대한 Windows 복원 및 바이러스 백신 기능을 해제하도록 되어 있습니다.

InteliJ의 속도를 높이는 또 다른 방법은 Intelij 시스템 폴더를 ramdrive에 넣는 것입니다(올레그 Ych|h 덕분입니다).

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

Windows 7 64비트 RAM 드라이브용 Superuser 또는드라이브참조하십시오. 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-Disk 가 실장되어 있을 것입니다.

컴파일 속도를 높이는 가장 쉬운 방법은 컴파일 출력을 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

프로젝트 셋업

IDEA에서 StructureIntelliJ IDEA 프로젝트 구조)를 엽니다.Ctrl+Alt+Shift+S디폴트)에서 프로젝트 - '프로젝트 컴파일러 출력'으로 이동하여 RAM 디스크 마운트 포인트로 이동합니다.

/tmp/projectName/out

가 덧붙였습니다.projectName필요한 경우 또는 동시에 여러 프로젝트를 수행할 경우 쉽게 찾을 수 있도록 폴더)

그런 다음 모듈로 이동하고 모든 모듈에서 경로로 이동하여 'Inherit project compile output path'를 선택하거나 커스텀 컴파일 출력 경로를 사용하려면 이전에 컴파일러 출력을 프로젝트할 때와 같이 'Output path'와 'Test output path'를 수정하십시오.

그게 다예요, 여러분!

추신: 현재 프로젝트 컴파일 시간(약):

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

P.P.S. SSD 디스크를 사용하는 경우 컴파일 속도가 빨라질 뿐만 아니라 디스크의 쓰기 작업도 줄어들기 때문에 SSD가 그 이후에도 행복하게 지낼 수 있습니다.

설명:

.bat을 통해 inteliJ를 실행하는 동안 이 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:+UseConcMarkSweepGCG1.

또한 파일 액세스 지연을 최소화하기 위해 로컬 파일 복사도 수행합니다.

BTW: 현재 진행 중인 프로젝트에서는 최대 힙이 2GB로 설정되어 있는데 24GB의 머신과 48GB의 머신에서 작업하는 머신의 차이를 알 수 있었습니다.

가지GC를 알 수 있었습니다. 즉, GC를 줄이는 것이 가장 효과적입니다.-XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50.

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

여기서 좋은 팁을 찾을 수 있어요.예를 들어 "동기화 파일 끄기" 기능을 해제한 후 IDEA에서 다른 앱으로 전환하거나 그 반대로 전환하는 속도가 크게 향상되었습니다.

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

아직 언급되지 않은 이유를 알 수 없습니다. 활성화 할 수 있습니다.Power Save mode다음과 같은 많은 IJ 백그라운드 액티비티를 끕니다.Files Synchronization일부 기사에서는 프로젝트 구조 옵션(@OJ278의 답변 기사 등)에서 Files Sync를 비활성화할 수 있다고 합니다만, IJ14에서는 이 옵션을 찾을 수 없었습니다.Power Save mode비활성화된 것 같습니다.

코드 베이스(AOSP 소스 코드)가 꽤 크기 때문에, 백그라운드 파일의 동기화에 의한 HD 액티비티가 귀찮습니다...

회답은adben기계 성능 향상에 매우 도움이 됩니다.Dzone 기사를 읽고 조금 오버라이드 했지만

-server
-Xms2g
-Xmx2g
-XX:NewRatio=3
-Xss16m
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:ConcGCThreads=4
-XX:ReservedCodeCacheSize=240m
-XX:+AlwaysPreTouch
-XX:+TieredCompilation
-XX:+UseCompressedOops
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-ea

그들은 위의 구성을 사용하여 대형 프로젝트의 성능을 향상시켰고, 우리의 프로젝트에서도 완벽하게 작동합니다.마지막으로 사용하지 않을 플러그인을 모두 비활성화하여 개선하였습니다.

참고 자료: https://dzone.com/articles/the-one-and-only-reason-to-customize-intellij-idea

Intelij의 옵티마이저 플러그인을 사용할 수 있습니다.

https://zeroturnaround.com/free/optimizer-for-intellij-idea/

플러그인으로 다음 작업을 수행할 수 있습니다.

  • 가상 시스템 옵션 자동 조정
  • 클래스 검증 사용 안 함
  • 시스템 캐시 정리
  • 외부 빌드 도구 구성
  • 최신 Oracle JDK 검증
  • 빌드 건너뛰기 및 재구현

이 토픽에 대해 미디어에서 간단한 설명을 작성했습니다.https://medium.com/ @http.igwt / performance - of - intellij - idea - and - the - rest - of - jetbrains - ides - cd34952b978 。

이 조합을 사용했는데 내 환경에서 잘 작동합니다.

-server
-Xms2048m
-Xmx2048m
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+UseParNewGC
-XX:ParallelGCThreads=4
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:ReservedCodeCacheSize=64m
-XX:-TraceClassUnloading
-ea
-Dsun.io.useCanonCaches=false

언급URL : https://stackoverflow.com/questions/5651538/speedup-intellij-idea

반응형