「RAM ディスク」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(Tmpfsへの転送ページ)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
  +
#redirect[[tmpfs]]
[[Category:ファイルシステム]]
 
[[de:Ramdisk]]
 
[[en:Ramdisk]]
 
[[es:Ramdisk]]
 
[[fr:ramfs]]
 
RAM ディスクは RAM の一部を利用したディスクです。多くのディストリビューションでは /dev/ram を利用しますが、Archでは /dev/ram がないので [[Fstab|/etc/fstab]] を使って RAM ディスクを作成します。RAM ディスクを使用するにあたって覚えなくてはならないことは、RAM ディスクは RAM 上にあるため揮発性であることです。RAM ディスク上のデータは PC を止めたり電源を失うと全て失われます。したがって、もしデータを保存したい時は RAM ディスクからハードディスクに保存する必要があります。
 
 
==なぜ RAM ディスクを使うのか?==
 
 
RAM ディスクは RAM 上にあるので、往来のファイルシステムより非常に高速です。つまり、ファイルを高速に処理したいとき、RAM ディスクを使うことはベストの選択になりえます。参考に、/tmp や [[Firefox Ramdisk|Firefox プロファイル]] などでの利用が人気があります。
 
 
==RAM ディスクの作り方==
 
 
RAM ディスクをマウントされたファイルシステムとして扱うことで RAM ディスクを作ることができます。デバイスファイルに任意の名前 (ここでは "none") をつけて:
 
 
mount -t ramfs none /path/to/location
 
 
RAM ディスクを常駐させたいときは、場所を決めて /etc/fstab に次のように加えて下さい:
 
 
none /path/to/location ramfs defaults 0 0
 
 
余分な RAM をあまり多く持っていない時は、'ramfs' の代わりに 'tmpfs' を使うことが推奨されています。tmpfs は RAM 容量が尽き始めた時にスワップを使いますが、ramfs は使いません。勿論、スワップを食べることは RAM のパフォーマンスの利点を失いますが、余分な RAM を多く持ってないなら意味があります。
 
 
==利用サンプル==
 
 
/tmp、/var/cache/pacman、/var/lib/pacman を RAM に置くために編集するファイルは /etc/fstab、/etc/rc.local、/etc/rc.local.shutdown で、シャットダウンする前にディスクに同期させます。トピックに関係のないファイルの一部はスペースを節約するために削除されました。
 
 
'''/etc/fstab:'''
 
none /tmp ramfs defaults 0 0
 
none /mnt/ramdisk ramfs defaults 0 0
 
 
'''/etc/rc.local:'''
 
chmod 777 /tmp
 
touch /etc/ramdisk.sh
 
 
/bin/cat - >> /etc/ramdisk.sh << EOT
 
#!/bin/sh
 
 
cd /var/ && /bin/tar cf abs.tar abs/
 
cd /var/cache/ && /bin/tar cf pacman.tar pacman/
 
cd /var/lib/ && /bin/tar cf pacman.tar pacman/
 
 
/bin/mkdir /mnt/ramdisk/var/
 
/bin/mkdir /mnt/ramdisk/var/cache/
 
/bin/mkdir /mnt/ramdisk/var/lib/
 
 
/bin/mv /var/abs /mnt/ramdisk/var && /bin/ln -s /mnt/ramdisk/var/abs /var/abs
 
/bin/mv /var/cache/pacman /mnt/ramdisk/var/cache && /bin/ln -s /mnt/ramdisk/var/lib/pacman /var/lib/pacman
 
/bin/mv /var/lib/pacman /mnt/ramdisk/var/lib && /bin/ln -s /mnt/ramdisk/var/cache/pacman /var/cache/pacman
 
 
/bin/ln -s /tmp /mnt/ramdisk/tmp
 
/bin/chmod 777 /mnt/ramdisk/tmp
 
EOT
 
 
/etc/ramdisk.sh &
 
 
'''/etc/rc.local.shutdown:'''
 
echo "Saving contents of ramdisk to harddrive"
 
rm /var/abs
 
rm /var/cache/pacman
 
rm /var/lib/pacman
 
mv /mnt/ramdisk/var/abs /var
 
mv /mnt/ramdisk/var/cache/pacman /var/cache
 
mv /mnt/ramdisk/var/lib/pacman /var/lib
 
 
==Useful links==
 
* [https://bbs.archlinux.org/viewtopic.php?id=50893 How to mount Ramdisk]
 
* [https://bbs.archlinux.org/viewtopic.php?pid=326269 Ramdrive setup]
 
* [http://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt Official tmpfs documentation]
 
* [http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt Official ramfs documentation]
 

2016年11月3日 (木) 00:04時点における最新版

転送先: