12

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

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

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

もう 1 つのオプションは、Ramdisk を一時ファイルの場所として使用することです。Vista の mklink コマンドを使用して、SpringSource dm サーバーの作業領域が通常存在する場所から RAM ディスクへのハード リンクを作成しました。これにより、サーバーの起動時間は大幅に改善されますが、コンパイル時間には何も影響しません。作業ディレクトリが完全に使用されている場合、Ramdisk にはまだ約 500MB の空き容量があるため、さらに多くの空き領域があります。

Ramdisk に配置する候補として他に考えられるファイル/ディレクトリは? Eclipse 関連のファイル? (の一部) JDK?

当て推量を減らすために、一定期間に最も頻繁に使用されるファイルを表示する、Vista 用の無料/オープン ソース ツールはありますか?

4

4 に答える 4

11

これが私がしたことです

Ramdisk に移動:

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

構成をまったく変更せずに、フォルダ (またはファイル) を仮想ディスクに移動できる巧妙なトリックがあります。

  1. フォルダを Ramdisk にコピーします。
  2. 元のフォルダーの名前を変更します (最後に -COPY を追加しました)
  3. mklink /Jコマンドを使用して、名前を変更する前にディレクトリがあったディスク上の場所から、Ramdisk 上のコピーした場所へのリンクを作成します。

例えば:

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

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

Vista より前のマシンでは、SysInternals のジャンクションを mklink に置き換えることができます。

于 2009-12-10T04:15:07.363 に答える
5

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

考慮すべきもう 1 つの代替手段は、ソリッド ステート ドライブ (SSD) を使用することです。ディスクからのファイルの読み取りと書き込みが頻繁に行われる多くの領域で、大幅なパフォーマンスの向上が見られます。

于 2009-12-03T20:54:48.283 に答える
0

ほとんどの場合、これらのIOはEclipseのボトルネックではないため、JDKおよびプラグインフォルダーをramdiskに移動することは、この場合の良い解決策ではないと思います。あなたのソリューションを試してみたところ、workspace.metadata フォルダーを ramdisk に移動する必要があることがわかりました。これにより、ビルドと実行の速度が向上する可能性があります。また、可能であれば、すべてのワークスペース フォルダーを RAM ディスクの下に移動し、バージョン管理を使用してデータの安全性を確保する必要があります。幸運を。

于 2010-12-25T04:42:45.173 に答える