65.9K
CodeProject 正在变化。 阅读更多。
Home

善待您的 SSD/HD 硬盘,使用 RAM 磁盘进行测试

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.78/5 (11投票s)

2020年12月20日

CPOL

3分钟阅读

viewsIcon

14492

使用 RAM 磁盘代替 SSD 硬盘可以防止 SSD 过早损坏,并且测试运行速度更快。

引言

我拿到了我的新笔记本电脑,它只有 SSD 硬盘(固态硬盘)。 SSD 比硬盘快,但不幸的是,它们不太喜欢被写入。当只需要将 1 位从 1 设置为 0 时,可怜的 SSD 不能直接这样做。它必须获取要覆盖的位所在的块(通常在 256KB 和 4MB 之间),并将更改后的位复制到空块中,然后必须通过施加更高的电压来擦除整个旧块。这会给 SSD 带来压力,并且 SSD 仅支持有限的写入周期(通常在 3,000 到 100,000 次写入之间)。

您的单元测试应该经常运行。如果可能,测试仅使用 RAM 运行。不幸的是,这并非总是可以实现,尤其是在测试包括文件处理或数据库访问时。在这种情况下,最好使用 RAM 磁盘而不是 SSD 或 HD 硬盘。

RAM 磁盘的行为类似于 SSD 或 HD 硬盘,但数据仅存储在 RAM 中。 RAM 比 SSD 快得多,并且可以无限次写入。不幸的是,Windows 没有自带 RAM 驱动器,但很容易安装一个。

警告:ImDisk 是否让我的电脑不稳定?

在下一章中,我将推荐使用 ImDisk 作为 RAM 磁盘。 但是,在我发表这篇文章几天后,我的电脑开始出现奇怪的错误,这些错误可能与 ImDisk 有关,也可能无关。 自卸载以来,我再次没有错误。 这并不能证明任何事情,但我想在这里发出警告。 卸载很简单。 我很想听听其他人是否也遇到问题。 我想迟早我会再次尝试,但不是现在。

RAM 磁盘安装

流行的 RAM 磁盘工具包是 ImDisk。 它使用有趣的 WTFPL 版权:做你想做的公共许可证。 基本上,它赋予你对它做任何事情的权利。 而且它没有烦人的广告。

我从 https://sourceforge.net/projects/imdisk-toolkit/ 下载了它。 它以 zip 文件的形式提供。 解压缩并运行 install.bat。 它运行一个安装程序,该程序安装驱动程序和一些实用程序。 我只对 RAM 磁盘感兴趣,因此启动了 RamDisk Configuration 应用程序。

Basic Setup

您可以安装多个具有不同驱动器号的 RAM 磁盘。 在 Windows 启动时启动非常方便,RAM 磁盘在 Windows 启动时启动并且始终可用。

Advanced Settings

Windows 每次启动都会创建一个新的 RAM 磁盘。 像任何其他驱动器一样,在使用 RAM 磁盘之前,必须对其进行格式化。 快速格式化就足够了。

Data Settings

我没有在这里更改任何内容。 但是,如果您希望 RAM 磁盘在启动时已经包含一些内容,例如一个空的数据库,则可以使用从图像文件或文件夹加载内容来实现此目的。

一旦你按下OK,你就完成了,新的 RAM 磁盘正在运行。 你现在需要做的就是将测试软件中的 SSD/HD 硬盘更改为 RAM 磁盘。

关注点

我不只是将 RAM 磁盘用于单元测试。 在我的最终应用程序中,我给用户提供了一个测试模式。 在那里,他可以获得实际应用程序数据的副本,并可以尝试各种功能,而无需更改实际数据。 此外,此副本存储在 RAM 磁盘中。

此外,我经常处理文件一小段时间,比如截取本文的屏幕截图,处理它们并将它们上传到 CodeProject。 使用 RAM 磁盘,这变得非常快,最好的是,当我不再需要这些文件时,我不需要清理它们,RAM 磁盘会在下次 Window 启动时自动丢失它们。

历史

  • 2020年12月20日:初始版本
© . All rights reserved.