2009-12-03 18 views
12

私たちは、4GBのRAMを搭載した32ビットVistaマシンでEclipseを使用してJava/SpringSourceアプリケーションを開発しています。 OSは仮想アドレス空間にハードウェアなどの予約があるため、およそ3.3GBのRAMを公開します。私は、OSの隠しRAMから仮想ディスクを作成できるRamdiskドライバをいくつか見つけ出し、740MBの仮想ディスクを使用して開発環境をスピードアップする方法を提案しました。Eclipse開発用Ramdiskの最適化

私たちの開発の中で最も遅いのは、SpringSource dm Serverのコンパイルと起動です。

1つのオプションは、VistaをRamdiskにスワップするように構成することです。これはうまく動作し、メモリ不足の状況では開発が著しくスピードアップします。しかし、OSに利用可能な3.3GBが十分な場合が多く、スワップファイルをあまり使用しない状況がたくさんあります。

もう一つの選択肢は、一時ファイルの場所としてRamdiskを使用することです。 Vistaのmklinkコマンドを使用して、私はSpringSource dm Serverのワークエリアが通常Ramdiskにある場所からハードリンクを作成しました。これはサーバーの起動時間を大幅に改善しますが、コンパイル時には何も行いません。作業ディレクトリが完全に利用されている場合、Ramdiskにはまだ約500MBの空き容量があります。

Ramdiskには他のファイルやディレクトリがありますか? Eclipse関連のファイル? JDKの(部分)

Vista用のフリー/オープンソースツールは、推測を減らすためにある期間中に最も頻繁に使用されるファイルを表示しますか?

+0

PS - はい、これはすべての64ビットOSへの移行によって解決されるだろうが、それは現時点では現実的な選択肢ではありません。 –

答えて

11

ここで私はRAMディスクに移動

やったことだ:

  • JDK(、いくつかの不要なファイルにsrc.zipをなどのデモを削除)
  • Eclipseプラグインディレクトリは
  • SpringSourceの作業ディレクトリ
  • SpringSourceライブラリディレクトリ

構成を一度変更せずに仮想ディスクにフォルダ(またはそのようなファイル)を移動することができます。Ramdiskの

    1. コピーしたフォルダ元のフォルダ(私は最後に-COPYを追加しました)
    2. どこディスク上の場所からのリンクを作るためにMKLINK/Jコマンドを使用して名前を変更しますあなたが例えばRAMディスク

    上でそれをコピーした場所にそれを名前を変更する前にするために使用ディレクトリ:

    cd C:\Dev\Apps 
    Xcopy jdk R:\jdk\ /s 
    ren jdk jdk-COPY 
    mklink /J jdk R:\jdk 
    

    私が選択したRamdiskには、システムのシャットダウン時に状態を保持するオプションがあります(クラッシュはないものとします)。比較的静的なファイルだけをRamdiskに移動することを選んだので、一度再起動すると、必要な状態で私のRamdiskが常に見つかるはずです。

    Vistaマシン以前では、SysInternalsのjunctionをmklinkに置き換えることができます。

  • +0

    多分それはhttp://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVMでも動作し、Windows - > Preferences - > Java - > Compiler – max4ever

    +0

    でjreのパスを微調整することができます。私のEclipseのスピードアップに本当に役立った。唯一の問題は、マシンを再起動するたびにこれらの手順をやり直すことです。 retstartsまたはシャットダウン中に永続的なRAMディスクを作成する方法はありますか? Imdiskを使って自分のマシンにRamdiskを作成しています。 –

    +0

    @ HimanshuYadav:Primo RamdiskはRAMディスクをハードディスクに保存するRAMディスク製品です。 –

    5

    EclipseワークスペースをRAMディスクに移動できます。 javacもEclipseコンパイラも一時ファイルを使用していないので、* .javaファイルから* .classファイルに直接移動し、ソースファイルの場所からターゲットフォルダにリソースファイルをコピーします。

    ソリッドステートドライブ(SSD)を使用することをお勧めします。大量のディスクからファイルを読み書きする多くの分野で、大幅なパフォーマンスの向上が見込まれています。

    +1

    ワークスペースをRAMディスクに移動することが懸念されているため、停止の際に作業が失われる可能性があります。 SSDへの移行は現時点では選択肢ではありませんが、将来私たちが見ているものです(おそらく、64ビットOSに移行するときも同じでしょう:-) –

    +1

    あなたはワークスペースコードバージョン管理下でSubversionやGitのようなものは、変更を永続的なストレージに素早くプッシュすることができます。 –

    0

    私はこれらのIOがEclipse用のボトルネックではないので、ほとんどの時間は、このケースでは、ramdiskへのJDKおよびプラグインフォルダの移動は良い解決策だとは思わない。私はあなたの解決策を試してみたところ、workspace.metadataフォルダはramdiskに移動する必要があり、それがビルドと実行のスピードに役立つはずです。可能であれば、RAMディスクの下にあるすべてのワークスペースフォルダを移動し、データを安全にするためにいくつかのバージョンコントロールを使用する必要があります。がんばろう。

    +2

    動きのあるJDKとプラグインが私にとって大きな違いを生み出しました...一方、私は自分のワークスペースをRAMディスクに移動することを心配しています。 1回のクラッシュや停電により、かなりの労力を払拭できます。 –

    3

    私はSoftPerfect RAM Diskソフトウェアを使用しています。 JDK、Eclipse、Maven、Gradle、Antをインストールしました。また、自分のワークスペース、開発用gitリポジトリ、ローカルMavenリポジトリ(ダウンロードされたすべての依存関係)がRAMドライブにあります。私はまた、RAMドライブに "user home"ディレクトリを作成し、この新しい "user home"ディレクトリを指すようにeclipse.iniを変更しました。パフォーマンスが大幅に向上し、Eclipseは10秒未満で起動します。私はここに私のアプローチを文書化:

    http://www.whizu.org/articles/how-to-install-eclipse-on-a-ramdrive.whizu