Ste*_* K. 91 java windows performance intellij-idea
我正在使用intelliJ进行Scala开发并且上周获得了8 GB的新RAM,所以我想:时间使用它.我检查了我的任务管理器,发现了使用~250mb的intelliJ.从eclipse我知道调整JVM选项有助于提高速度,所以我用Google搜索...
并发现这个OS X 我无法立即找到JVM选项,所以我开始调整Xmx.在1 GB时,我意识到它不再启动了.我检查了intelliJ java版本,发现它已经过时了,32位.
因此,为了使用您当前的JDK和64位,您必须将链接更改为:
IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe
Run Code Online (Sandbox Code Playgroud)
至
IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT
Run Code Online (Sandbox Code Playgroud)
并调整"开始"
蝙蝠JDK_HOME
现在寻找并使用64位.
我当前的VM选项,位于
...\IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe.vmoptions
Run Code Online (Sandbox Code Playgroud)
是
-Xms512m
-Xmx1024m
-XX:MaxPermSize=512m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
Run Code Online (Sandbox Code Playgroud)
而不是-XX:+UseParallelGC
,你可以使用-XX:+UseConcMarkSweepGC
,这是
桌面应用程序的可接受选择,但我最近更改为吞吐量收集器.因为有一个快速的机器和一个足够小的堆,你有快速暂停,更多的吞吐量和没有碎片问题(ijuma.#sclala)
变化:
-XX:+UseConcMarkSweepGC //removed
// removed, because not needed with the lastest JVM.
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
Run Code Online (Sandbox Code Playgroud)
我现在会坚持这些选择.我真的很想知道你的经历.
哪种选择最适合您?如何通过.bat
?运行intelliJ时隐藏此cmd窗口?:)
顺便说一句,这是调整intelliJ的另一个链接.基本上它在p.20/21上说关闭Windows恢复和系统目录的防病毒.
加快的IntelliJ另一种方法是把上的IntelliJ系统文件夹RAMDRIVE(感谢OlegYch | H).
from idea.properties
idea.system.path=${idea.home}/.IntelliJIdea/system
Run Code Online (Sandbox Code Playgroud)
请参阅Win 7 64位RAM驱动器的超级用户或此超级用户.1 GB对我来说似乎没问题.
朋友给我的另一个提示是从防病毒软件中排除项目目录(扫描访问时)
调整Eclipse有类似的帖子:
adb*_*ben 31
这个组合对我在小牛队中运行的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
Run Code Online (Sandbox Code Playgroud)
我将此设置更新为https://github.com/adben/config/blob/master/idea64.vmoptions
Dil*_*nga 20
关于:
如何通过.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% %*
Run Code Online (Sandbox Code Playgroud)
将其更改为:
SET JAVA_EXE=%IDEA_JDK%\jre\bin\javaw.exe
...
start "Intellij IDEA" /b "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*
Run Code Online (Sandbox Code Playgroud)
Pet*_*rey 19
您可以为IntelliJ做的最有用的事情是为磁盘缓存提供大量可用内存.IntelliJ在缓存文件中保存了很多处理工作.如果你有足够的可用内存,这很有效,但是如果你的磁盘缓存有限,你会看到常规的,持久的暂停.
我建议-XX:+UseConcMarkSweepGC
而不是G1
.
我还使用文件的本地副本来最小化文件访问延迟.
顺便说一句:对于我所在的项目,我注意到使用24 GB的机器和48 GB的机器之间的区别,即使最大堆设置为2 GB;)
unc*_*Lem 19
前段时间我一直在寻找加快项目编译速度的方法,结果就是结果.这不适用于IntelliJ IDEA本身,但在(重新)构建大型项目时会有很多帮助,我想,它也适用于任何其他IDE.另外,我描述了Linux方法,但我确信Windows拥有自己的RAM磁盘实现.
加速编译的最简单方法是将编译输出移动到RAM磁盘.
$ sudo gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)
(而不是gedit
你可以使用vi
或任何你喜欢的)
我在我的系统中的几个地方使用RAM磁盘,其中一个是/tmp
,所以我只是将我的编译输出放在那里:
tmpfs /var/tmp tmpfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你的文件系统大小不会受限制,但没关系,我/tmp
现在的大小是73MB.但如果你担心RAM磁盘大小会变得太大 - 你可以限制它的大小,例如:
tmpfs /var/tmp tmpfs defaults,size=512M 0 0
Run Code Online (Sandbox Code Playgroud)
在IntelliJ IDEA中,打开项目结构(Ctrl+Alt+Shift+S
默认情况下),然后转到项目 - '项目编译器输出'并将其移动到RAM磁盘安装点:
/tmp/projectName/out
Run Code Online (Sandbox Code Playgroud)
(我已经添加了projectName
文件夹,以便在需要到达时可以轻松找到它或者同时使用多个项目)
然后,转到模块,在所有模块中转到路径并选择"继承项目编译输出路径",或者,如果要使用自定义编译输出路径,请按照您的方式修改"输出路径"和"测试输出路径"它之前是项目编译器输出.
总而言之,伙计们!
PS一些数字:我在不同情况下当前项目编译的时间(约):
HDD: 80s
SSD: 30s
SSD+RAM: 20s
Run Code Online (Sandbox Code Playgroud)
PPS如果您使用SSD磁盘,除了编译加速,您将减少磁盘上的写入操作,因此它也将帮助您的SSD永远幸福地生活;)
归档时间: |
|
查看次数: |
58156 次 |
最近记录: |