如何使用SSD磁盘空间作为RAM在Raspberry Pi上运行大内存作业?在Linux中,是否与根据本问答创建“ ramdisk”相同?
linux-swap
分区的SSD ,然后运行sudo swapon /dev/sda1
(或任何交换分区。)Ramdisk使用RAM作为存储,交换空间基本上是相反的-使用存储作为RAM。
如何使用SSD磁盘空间作为RAM在Raspberry Pi上运行大内存作业?在Linux中,是否与根据本问答创建“ ramdisk”相同?
linux-swap
分区的SSD ,然后运行sudo swapon /dev/sda1
(或任何交换分区。)Ramdisk使用RAM作为存储,交换空间基本上是相反的-使用存储作为RAM。
Answers:
我以为是SD而不是SSD?在SD卡上创建交换分区应作为驱动器的一种RAM。
如果您指的是SSD,则首先没有真正的方法将SSD驱动器连接到Pi。如果通过USB连接,则不会有太大的增加,甚至连外部连接的普通HDD也无法全速运行。
这是不可能的。
Raspberry Pi的内存固定在板上,没有接口可以扩展或更换它。
我认为混淆是由于SSD(固态磁盘)正在使用内存芯片来存储数据这一事实引起的。但这就是相似之处结束的地方。SSD上的存储芯片与普通RAM有很大不同。无法将一个替换为另一个。
SSD具有SATA磁盘接口。RAM具有内存总线接口。它们是如此不同,以至于我能提供的最好的类比就像是将燃气烹饪烤箱与微波炉进行比较。
我试图简化下面的信息,所以对于任何有更深刻理解的阅读者,请记住,这只是一个非常概括的摘要:
SSD芯片是闪存,具有非易失性存储功能,类似于USB拇指盘。这意味着即使没有电源,他们也可以保留其数据。他们还需要一个特殊的控制器芯片来与他们交谈。该芯片连接到SATA磁盘接口,并遵循SATA协议。以我的类比,SSD是燃气烤箱,而SATA总线是房屋的天然气供应。
典型的RAM芯片称为DRAM,即动态RAM(也称为DDR SDRAM等)。它们在很短的时间内存储数据,因此有必要使它们脱机(将这些芯片与其余电路断开连接)以刷新其存储的数据。每秒发生数百次或数千次,并且对用户透明。如果电源关闭,则刷新将停止,并且其数据将永远丢失。动态RAM芯片遵循与闪存芯片完全不同的协议,它们连接到动态存储器控制器,后者又连接到超高速存储器总线。该内存总线直接进入CPU芯片的心脏。以我的类比,动态RAM是微波炉,而高速内存总线是电源。
Rapsberry Pi CPU具有用于RAM的特殊连接,只有动态RAM可以在那里连接。SATA和USB连接分开保存。
因此,尽管它们都执行相同的工作(SSD和RAM存储代码和数据,燃气灶和微波炉来烹饪食物和加热饭菜),但是它们以完全不同且不兼容的方式来完成此工作。一个不能替代另一个。
最后,RAM磁盘是操作系统的一种技巧,它会假装某些可用的RAM实际上是存储磁盘。正如lenik在回复中非常正确地指出的那样,这减少了可用的RAM。
您可以使用交换文件或交换分区。如果决定使用交换分区,请确保仔细阅读,因为您不想破坏任何重要数据。
dd if=/dev/zero of=/SWAPFILE bs=1024 count=524288
chown root:root /SWAPFILE
chmod 0600 /SWAPFILE
mkswap /SWAPFILE
swapon /SWAPFILE
dd if=/dev/zero of=/dev/sdXN bs=1024
mkswap /dev/sdXN
swapon /dev/sdXN
vim /etc/fstab
free -m