私はScala開発にintelliJを使用しており、先週新しい8 GBの新しいRAM私はタスクマネージャーをチェックし、〜250mbを使用してintelliJを見つけました。 ..
OS X用のこれ JVMオプションがすぐに見つからなかったため、調整を開始しましたXmx。1 GBで、それが実現しましたもう開始しないでください。 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
今のところこれらのオプションに固執します。私はあなたの経験を本当に知りたいです。
最適なオプションはどれですか? .bat
を介してintelliJを実行中にこのcmdウィンドウを非表示にするにはどうすればよいですか? :)
ところで、ここに tuning intelliJ の別のリンクがあります。基本的にonp.20/21と表示され、Windowsの復元とシステムダーのウイルス対策をオフにします。
IntelliJを高速化する別の方法は、intellijシステムフォルダーをramdriveに配置することです(OlegYch | hに感謝)。
from idea.properties
idea.system.path=${idea.home}/.IntelliJIdea/system
Win 7 64ビットのスーパーユーザーRAMドライブ または この1つ を参照してください。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ドライブに切り替えると、パフォーマンスが大幅に向上しました(特に大規模なプロジェクトの場合)。
に関して:
.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用ではありませんIDEA自体ですが、大きなプロジェクトを(再)構築する際に非常に役立ちます。また、他のIDEでも動作します。しかし、Windowsには独自のRAMディスク実装があると確信しています。
コンパイルを高速化する最も簡単な方法は、コンパイル出力をRAMディスクに移動することです。
$ Sudo gedit /etc/fstab
(gedit
の代わりにvi
または好きなものを使用できます)
私はシステムのいくつかの場所でRAMディスクを使用しています。そのうちの1つは/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
デフォルトで)、次にProject-'Project compiler output'に移動し、RAMディスクマウントポイントに移動します。
/tmp/projectName/out
(そこに到達する必要がある場合、または複数のプロジェクトを同時に処理する場合に簡単に見つけるために、projectName
フォルダーを追加しました)
次に、モジュールに移動し、すべてのモジュールでパスに移動して「プロジェクトのコンパイル出力パスを継承」を選択するか、カスタムのコンパイル出力パスを使用する場合は、「出力パス」と「出力パスのテスト」を変更します前にコンパイラ出力を投影します。
以上です!
追伸いくつかの数字:さまざまなケースでの現在のプロジェクトのコンパイル時間(約):
HDD: 80s
SSD: 30s
SSD+RAM: 20s
P.P.S. SSDディスクを使用すると、コンパイルの高速化に加えて、ディスクへの書き込み操作が減るので、SSDがいつまでも幸せに生きることができます;)
IntelliJでできる最も便利なことは、多くのディスクキャッシュ用の空きメモリを用意することです。 IntelliJは、その処理作業の多くをキャッシュファイルに保存します。これは、空きメモリが十分にある場合はうまく機能しますが、ディスクキャッシュが制限されている場合は、定期的に長時間続く一時停止が発生します。
-XX:+UseConcMarkSweepGC
のではなく G1
。
また、ファイルのローカルコピーを作成して、ファイルアクセスの遅延を最小限に抑えています。
[〜#〜] btw [〜#〜]:私の現在のプロジェクトでは、最大ヒープが2 GBに設定;)
いくつかの実験を行ったところ、GCの一時停止を減らすには、-XX:+ UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB = 50の組み合わせが最適です。
また、ヒープをあまり大きくしすぎないようにします。512以下でも問題ありません。そうしないと、GCがいっぱいになると、GCがすべてを歩く必要があり、時間がかかります。
ここで良いヒントを見つけることができます。たとえば、IDEA=から別のアプリへ、またはその逆への切り替え速度は、「ファイルの同期をオフにする」機能をオフにすると大幅に改善されました。
http://hamletdarcy.blogspot.com/2008/02/10-tips-to-increase-intellij-idea.html
まだ言及されていない理由がわからない-Power Save mode
を有効にすると、多くの[〜#〜] ij [〜#〜]バックグラウンドアクティビティ(Files Synchronization
を含む) 。プロジェクト構造オプションでFiles Syncを無効にできるという記事もあります(@ OJ278の回答記事など)が、このオプションはIJ 14で見つかりませんでしたが、Power Save mode
は無効になっているようです。
私は非常に大きなコードベース([〜#〜] aosp [〜#〜]ソースコード)を持っているので、バックグラウンドファイルの同期によるHDアクティビティは迷惑です...
Intellijのオプティマイザープラグインを使用できます。
https://zeroturnaround.com/free/optimizer-for-intellij-idea/
プラグインを使用すると、次のことができます。
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
私はこの組み合わせを使用しましたが、私の環境ではうまく機能しています
-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
媒体に関するこのトピックに関する小さな記事を作成しました: https://medium.com/@sergio.igwt/boosting-performance-of-intellij-idea-and-the-rest-of-jetbrains-ides- cd34952bb978