如何将文件移动到安装在 /dev/shm 的内存文件系统中

如何将文件移动到安装在 /dev/shm 的内存文件系统中

最近有人告诉我有关 /dev/shm 的信息。你们都帮助我加深了对 /dev/shm 的理解哪个 dev 文件夹允许您告诉操作系统缓存某些内容?

告诉我 /dev/shm 的人说我可以用它比在常规文件系统中更快地解压缩大文件。我现在正尝试在 OS X 机器上执行此操作。我跑

sudo cp /Volumes/USB/rcv1rcv2aminigoutte.tar.bz2 /dev/shm

并得到

cp: /dev/shm: Operation not supported

如何将文件从常规文件系统加载到安装在 /dev/shm 的内存文件系统中

一如既往地感谢。通过在这个网站上提问,我学到了很多东西。

答案1

据我所知,/dev/shm这是 Linux 特有的功能。我刚刚仔细检查了我的 OSX 10.9.4 系统,它绝对没有/dev/shm.

现在考虑到 OSX 植根于 Unix,如果它没有类似的东西,我会感到非常惊讶,因此搜索等效内容使我找到了这个标题为的 SO Q&A:OS X 是否有与 /dev/shm 等效的文件?,这又将我引导到这个标题为:使用 OSX RamDisk 的极速 Firefox

此页面显示了在 OSX 上创建 RamDisk 的脚本:

#!/bin/bash
# Run this script to enable the Ramdisk for Firefox profiles
VolumeName="Mozilla"

# Size in MB, make sure it is not too low or too high
SizeInMB=220

NumSectors=$((2*1024*SizeInMB))

DeviceName=`hdid -nomount ram://$NumSectors`

echo $DeviceName

diskutil eraseVolume HFS+ RAMDisk $DeviceName

# move the current profiles folder
mv Profiles Profiles_ &&

# make a symlink to the ramdisk
ln -s /Volumes/RAMDisk ./Profiles &&

# then copy it to the ramdisk
/bin/cp -r Profiles_/* Profiles

具体来说这一行:

diskutil eraseVolume HFS+ RAMDisk $DeviceName

现在我们已经知道这种类型的设备在 OSX 行话中被称为 RAM 磁盘(它们实际上在 Linux 和其他操作系统上也被称为 RAM 磁盘,但我只是向您展示如何自己分解这些类型的问题以供将来参考) )。

该页面有更多信息和 GUI 工具的链接,RAM磁盘创建器,您也可以使用它在 OSX 上构建您自己的 RAM 磁盘。

摘抄

以下是有关如何构建自己的命令的示例命令。

$ diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://8388608`

运行它时看起来像这样:

    SS#1

笔记:您可以使用此方法来计算值,ram://XXXXX如下所示:

将 X 字符替换为代表 RAM 磁盘总容量的块大小的数字。通过将所需的磁盘大小(以兆字节为单位)乘以 2048 来计算该数字。在我们的示例中,我们将创建一个 4 GB RAM 磁盘,这需要数字 8388608 (4096 * 2048)。

相关内容