12

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

对我们来说,开发中最慢的部分是编译和启动 SpringSource dm Server。

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

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

还有哪些其他文件/目录可能适合放置在 Ramdisk 上?Eclipse 相关文件?(部分)JDK?

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

4

4 回答 4

11

这就是我所做的

移至 Ramdisk:

  • JDK(删除了一些不必要的文件,例如demos、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 上,所以一旦我进行了一次良好的重启,我应该总是能找到我的 Ramdisk 处于我需要的状态。

在 Vista 之前的机器上,您可以用 SysInternals 中的 junction 替换 mklink。

于 2009-12-10T04:15:07.363 回答
5

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

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

于 2009-12-03T20:54:48.283 回答
3

我正在使用 SoftPerfect RAM Disk 软件。我在上面安装了 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

于 2013-08-10T21:07:30.047 回答
0

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

于 2010-12-25T04:42:45.173 回答