优化Ramdisk在Eclipse开发中的使用

Eri*_* J. 12 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工具,它会告诉我哪些文件在一段时间内最常用,以减少猜测?

Eri*_* J. 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
Run Code Online (Sandbox Code Playgroud)

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

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


Eug*_*hov 5

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

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