为什么今天要使用RAMdisk?


23

阅读了这个问题之后,我开始思考:

“嘿,我们过去在DOS时代运行的那些RAM磁盘实用程序发生了什么?”

直到今天我还没有听说过RAM磁盘,但是为什么呢?内存仍然比磁盘快,而我们两者都有很多。

为什么今天不更多使用RAM磁盘?


1
默认情况下,Amiga OS仍使用虚拟磁盘。
grawity

Answers:


32

为什么今天我要使用RAMdisk:解决32位RAM限制

当前,由于某些工作软件的兼容性问题,我需要运行32位操作系统。我的计算机具有比Windows XP Professional所能看到的更多的RAM,因此我的物理内存为3GB。

碰到3GB的墙时,计算机将移动以使用页面文件。幸运的是,在32位环境中,已有软件可以让您从操作系统无法访问的RAM中创建RAMdisk!

SuperSpeed有一个名为RamDisk的程序,它将允许您执行此操作。另一个选择是Vsuite Ramdisk软件(两者都略有不同-请参阅功能列表以查看哪个满足您的需求)。

我没有专门宣传任何软件,但是我碰到的只是一些软件,它们使您可以利用32位操作系统可寻址范围之外的一些RAM。

尽管它不如操作系统直接访问RAM那样好,但是具有基于RAM的页面文件比基于硬盘的页面文件要好得多。

Scratchfiles-另一个原因(同样适用于64位)


您可以使用RAM磁盘的另一个原因是用于照片/视频编辑(例如,使用Adobe Creative Suite)。大多数Adobe程序可以使用“临时文件”进行临时存储(类似于页面文件)。

将暂存文件放在RAM磁盘上确实有助于提高视频/照片编辑的速度,尤其是当您接近操作系统的RAM限制(或程序定义的最大值)时。

20101月2012 9月编辑:


我最近遇到了这个网站(该补丁已删除,但已在我的网站上进行了镜像),它使您可以修补Windows 7内核,以允许操作系统的PAE扩展4GB的限制(请参阅参考资料中提到的文章)。有关该补丁背后实际机制的更多详细信息,请参见前一个链接)。这使您可以在Windows 7 32位系统下完全使用超过4GB(最多8GB)的RAM 。


8

内存磁盘并不常见的一个非常好的基本原因:最好使用内存作为磁盘缓存。

只要让内存用作缓存,您就已经可以在正常操作中获得虚拟磁盘的大部分/全部性能优势。假设您有足够的缓存,则磁盘写入可能会在没有太大延迟的后台发生。

在特殊情况下(没有可写磁盘),您仍可以使用ramdisk。


1
另一种“专业”的情况是,延迟事。换句话说,您不仅要获得快速的平均读取时间,还希望获得所有的快速读取时间,尤其是第一次读取。我正在考虑使用Web服务器,因为它们与最终用户之间经常存在内容交付网络缓存。看着一个ramdisk另一种方式是像被预装了某些事情缓存(相对于起始空和学习,因为,它,去最喜欢的缓存。)
MarkHu

另外一种情况是当您拥有大量I / O但您可以允许它易失时。缓存的常规操作会定期刷新数据(否则,它永远都不会写入磁盘,因此保存的文件将不会被保存),因此它可能在后台因大量I / O而被临时文件饱和。
Maciej Piechotka

5
  1. 操作系统更擅长使用RAM-将应用程序加载到RAM中并更智能地交换进出。
  2. RAM磁盘易失-RAM中的数据会完全消失,因此我们不能依靠它们。
  3. 32位体系结构只能寻址不到4GB的RAM-您不想将宝贵的RAM浪费为RAM磁盘。
  4. RAM仍然相当昂贵,相对而言

2
并不是32位架构只能寻址不到4GB的RAM。参见en.wikipedia.org/wiki/Physical_Address_Extension
ChrisInEdmonton,2009年

1
尽管该技术不适用于大多数家庭用户。
Rich Bradshaw

1
应用程序通常会写入许多小文件,您无需保持重启状态。对于这些RAMDISKS很棒!
伊恩·林罗斯

1
@Rich Bradshaw-点3是不正确的(正如ChrisInEdmonton所指出的)。我建议将“ 32位体系结构”更改为“某些32位操作系统”。我感到很讨厌,因为一个残缺的操作系统,这种神话仍然存在。
恢复莫妮卡

3

在Linux上,有一个名为tmpfs的文件系统,它基本上是一个RAM磁盘。

顾名思义,它经常用于/tmp,因为该文件夹仅包含不需要在重新启动后保留的文件。

实时CD将RAM磁盘用于整个硬盘。


2

其实他们是。如今甚至有基于DRAM的SSD

是的,的确是现代硬盘驱动器更快。但是相对于其他系统组件的进展,它们慢得多。您无法消除寻道时间,因为您的转速有限。

因此,出于多种目的,基于RAM的驱动器可以极大地提高性能。是否曾经尝试过在普通HDD而非RAM驱动器上构建大型软件项目?

还要注意,现代系统内核(例如Linux)已经使用了所有可用的(未使用的)RAM进行块存储缓存。


嗯...我不认为这是OP的初衷。OP指的是8086-80486时代左右的RAM磁盘,当时RAM非常昂贵,并且非易失性存储设备(如软盘)被用来增加系统内存。我认为他不是要使用DRAM介质代替典型的非易失性存储设备。
J. Polfer

1
等等...没关系...我看错了帖子。
J. Polfer 09年

SSD的最大问题是它们仍然绑定到缓慢的I / O接口(不是软件RAM磁盘)。
Brian Knoblauch

2

这些在很大程度上是为了弥补残缺的操作系统的不足,而全服务的OS则不需要它们。

也就是说:对于大多数目的,OS缓存机制将提供更好的性能。

它执行相同的操作(将“磁盘”常驻数据粘贴到RAM中以进行快速访问),但是它具有大量的启发式方法,并且可以进行及时的优化以准确选择应加速的内容。在某些特殊情况下,您可能比操作系统更了解,但是大多数时候您应该保持足够的孤独。


2

非常老的职位,但今天仍然有意义(大约2019年。

OP询问了DOS比较。我会给你们大多数人一个档案检索。

那时,我们曾经是一个充满640Kb RAM的世界,但是我们可以激活另外384k的扩展内存。借助软件,我们可以将这384k交换为扩展内存(这是Lotus-Intel-Microsoft创建的格式),这将允许兼容的应用程序将这种宝贵的384k用于应用程序。这些应用通常是电子表格应用(Lotus 1-2-3和Microsoft的新Excel电子表格应用)。我们确实有一些RAM板,如果它是LIM兼容的硬件,它可以允许16位CPU运行一个ABO板(RAM板卡在DRAM CHIPS上),最大可寻址内存为2-4MB。

在当今世界,对于大多数用户而言32GB可能会过高,但是某些OEM(原始设备制造商)会推出32GB标准型号。那你该怎么办呢?您可以通过在部分内存(4gb-8gb)中制作一个RAMDrive来润滑您的操作系统,以便临时文件应用程序和操作系统创建-在重新启动时会在那里并自动刷新。您甚至可以为Internet浏览器执行此操作(X:\Ramdrive\Cache通过创建带有新参数的快捷方式和单个注册表编辑,Chrome也可以配置为通过一些细微调整使用此路径。)

这值得么?

如今,许多RAMDrives都是免费的,并且可以自动配置SET TEMP,SET TMP环境变量。您所要做的就是插入RAMDrive的新驱动器盘符,其中一些不一致的系统错误,小崩溃,运行缓慢都将消失。

请记住,许多应用程序和更新并没有完全按照我们的意愿清除。

对于游戏玩家,您可以创建一个.BAT文件,该文件将复制游戏的所有内容并保存文件(使用保留/S参数的文件夹和子文件夹的格式XCOPY。请确保创建一个额外的文件,以在将文件SAVE.BAT保存到硬盘时否则您将面临无法保存任何内容的风险。


2

我使用2GB的RAM磁盘来存储VMware虚拟操作系统(整个操作系统,XP),并在syartup / shutdown上自动保存并重新加载。然后,我使用VMware Play将其从虚拟磁盘中删除。这使整个虚拟操作系统RAM磁盘速度(包括其系统文件的所有I / O)(包括所有I / O,而不仅仅是一些文件)变得如此,您可以想象,性能惊人!

除此之外,Zip / RAR文件以及DVD编码的提取速度要快得多。


0

因为:

  1. 尽管计算机规格已大大改善,但软件却变得更加膨胀,需要更多的内存。较小的存​​储磁盘不再有太大帮助。
  2. 内存磁盘仅有益于一件事:保留临时文件。没有多少程序花更多的时间处理临时文件,并且当它们执行时,这些文件往往很大。

0

为什么今天要使用RAMdisk?

因为RAM非常便宜,并且RAM磁盘比传统的拼盘硬盘驱动器快了一个国家(或超过300倍)。

注意:RAM磁盘可能不是每种情况都适合的解决方案,但是在适用的情况下,RAM磁盘可以击败任何人为的磁盘驱动器。


0

我不得不说,由于软件膨胀和大容量存储的增长远远超过了RAM,它们已不再使用。过去,计算机的可用RAM比存储更多(例如,我的旧XT具有640K RAM和360K磁盘驱动器)。这使得制作384K ramdisk,将您的应用程序复制到其上并运行它变得轻而易举(对于当今的大多数应用程序,仍然留有足够的256K RAM)。与当今带有1TB驱动器但只有1GB RAM的系统形成对比...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.