代码之家  ›  专栏  ›  技术社区  ›  Eric J.

为Eclipse开发优化ramdisk的使用

  •  12
  • Eric J.  · 技术社区  · 15 年前

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

    我们开发最慢的部分是编译和启动SpringSourceDMServer。

    一个选项是将Vista配置为交换到ramdisk。这是可行的,而且在内存不足的情况下显著加快了开发速度。然而,操作系统可用的3.3GB通常是足够的,在许多情况下,我们不太使用交换文件。

    另一个选项是使用ramdisk作为临时文件的位置。使用vista mklink命令,我创建了一个硬链接,SpringSource dm服务器的工作区通常位于ramdisk。这显著提高了服务器启动时间,但对编译时间没有任何影响。当工作目录被充分利用时,ramdisk上仍然有大约500MB的空闲空间,因此有足够的空间容纳更多的空间。

    其他哪些文件/目录可以放在ramdisk上?Eclipse相关文件?(部分)JDK?

    有没有一个免费/开源的Vista工具可以告诉我在一段时间内最经常使用哪些文件来减少猜测?

    4 回复  |  直到 11 年前
        1
  •  11
  •   Eric J.    15 年前

    我就是这么做的

    移动到ramdisk:

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

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

    1. 将文件夹复制到ramdisk
    2. 重命名原始文件夹(我添加了-复制到末尾)
    3. 使用 MKLink/J 命令将目录重命名之前所在磁盘上的位置链接到将其复制到ramdisk上的位置

    例如:

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

    所选的ramdisk i具有在系统关闭时保持状态的选项(假设没有崩溃)。我选择只将相对静态的文件移动到ramdisk上,所以一旦有了一次良好的重新启动,我应该总是发现ramdisk处于我需要的状态。

    在Vista之前的机器上,您可以用mklink代替SysInternals的连接。

        2
  •  5
  •   Eugene Kuleshov    15 年前

    您可以尝试将Eclipse工作区移到RAM磁盘中。我敢肯定,Javac和Eclipse编译器都不使用任何临时文件,所以它直接从*.java文件到*.class文件,再将资源文件从源位置复制到目标文件夹。

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

        3
  •  3
  •   Rudy D'hauwe    11 年前

    我正在使用SoftPerfect RAM磁盘软件。我在上面安装了JDK、Eclipse、Maven、Gradle和Ant。另外,我的工作区、我的开发Git存储库和本地Maven存储库(所有下载的依赖项)都在RAM驱动器上。我还在RAM驱动器上创建了一个“user home”目录,并将eclipse.ini更改为指向这个新的“user home”目录。性能显著提高,Eclipse现在在10秒内启动。我在这里记录了我的方法:

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

        4
  •  0
  •   Freeman    14 年前

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

    推荐文章