/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 ディスクの総容量のブロックサイズを示す数字に置き換えます。必要なディスクサイズ(MB)に2048を掛けてこの数を計算します。この例では、数字8388608(4096 * 2048)を必要とする4 GBのRAMディスクを作成します。

関連情報