优化Ramdisk在Eclipse开发中的使用

时间:2009-12-03 06:20:47

标签: eclipse ramdrive

我们正在使用带有4GB RAM的32位Vista计算机上的Eclipse开发Java / SpringSource应用程序。由于虚拟地址空间中的硬件等的预留,OS暴露大约3.3GB的RAM。我遇到了几个可以从操作系统隐藏的RAM创建虚拟磁盘的Ramdisk驱动程序,我正在寻找建议如何最好地使用740MB虚拟磁盘来加速我们环境中的开发。

我们开发的最慢部分是编译以及启动SpringSource dm Server。

一种选择是将Vista配置为交换到Ramdisk。这很有效,并且可以显着加快低内存情况下的开发速度。但是,操作系统可用的3.3GB通常已足够,而且在很多情况下我们不会使用交换文件。

另一种选择是使用Ramdisk作为临时文件的位置。使用Vista mklink命令,我创建了一个硬链接,SpringSource dm Server的工作区通常位于Ramdisk。这显着改善了服务器启动时间,但对编译时没有任何作用。当工作目录被充分利用时,Ramdisk上仍有大约500MB的空闲空间,因此可以提供更多空间。

哪些其他文件/目录可能会放在Ramdisk上?与Eclipse相关的文件? (部分)JDK?

是否有适用于Vista的免费/开源工具,可以显示哪些文件在一段时间内最常用,以减少猜测?

4 个答案:

答案 0 :(得分:11)

这就是我做的事情

转移到Ramdisk:

  • JDK(删除了一些不必要的文件,例如demos,src.zip)
  • Eclipse插件目录
  • SpringSource工作目录
  • SpringSource库目录

有一个巧妙的技巧,可以让您将文件夹(或相关文件)移动到虚拟磁盘,而无需对配置进行单一更改。

  1. 将文件夹复制到Ramdisk
  2. 重命名原始文件夹(我将-COPY添加到最后)
  3. 使用 mklink / J 命令从磁盘上的位置建立链接,在重命名目录之前将其复制到Ramdisk上复制目录的位置
  4. 例如:

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

    我选择的Ramdisk有一个选项可以在系统关闭时保持状态(假设没有崩溃)。我选择只将相对静态的文件移动到Ramdisk上,所以一旦我有一个好的重启,我应该总是在我需要的状态下找到我的Ramdisk。

    在Vista之前的计算机上,您可以将SysInternals的联结替换为mklink。

答案 1 :(得分:5)

您可以尝试将Eclipse工作区移动到ram磁盘中。我很确定javac和Eclipse编译器都没有使用任何临时文件,所以它直接从* .java文件到* .class文件,再加上资源文件从源位置复制到目标文件夹。

您可能需要考虑的另一个选择是使用固态驱动器(SSD)。您将在许多领域中看到显着的性能改进,这些领域正在从磁盘读取和写入文件。

答案 2 :(得分:3)

我正在使用SoftPerfect RAM磁盘软件。我在其上安装了JDK,Eclipse,Maven,Gradle和Ant。我的工作区,我的开发git存储库和本地Maven存储库(所有下载的依赖项)都在RAM驱动器上。我还在RAM驱动器上创建了一个“用户主目录”,我将eclipse.ini更改为指向这个新的“用户主目录”。性能得到了显着提升,Eclipse现在启动时间不到10秒。我在这里记录了我的方法:

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

答案 3 :(得分:0)

我不认为将JDK和plugins文件夹移动到ramdisk是一个很好的解决方案,因为大多数时候这些IO不是eclipse的瓶颈。我尝试使用您的解决方案,并发现workspace.metadata文件夹应该移动到ramdisk,这可以帮助构建和执行速度。如果可能,您应该将所有工作区文件夹移动到ramdisk下,并使用一些版本控制来确保数据安全。祝你好运。