web-dev-qa-db-ja.com

UbuntuでUSBドライブをRAMとして使用する

Windowsでは、USBフラッシュドライブを仮想RAMとして使用できます。 Ubuntuでそうすることは可能でしょうか?もしそうなら、どのようにそれを行うことができますか?

[編集]:つまりReady boost Ubuntuと同等です。ラムの完全な代替品ではなく、長期使用にはお勧めできないことは知っています。

それに似たUSBフラッシュドライブにスワップファイルを作成していますか?ハードディスクドライブのスワップファイルよりもパフォーマンスが向上しますか?

15
Tachyons

Seanが提案する答えはこれを達成する1つの方法であり、別の方法はスティックにスワップファイルを作成することです。その方法で他のファイルにスティックを使用することもできます。そのようです:

  • スティックが取り付けられている場所を見つけます。 nautilusを調べるか、ターミナルでmountを発行します

  • dd if=/dev/zero of=/media/YOURSTICK/swap bs=4096 count=131072の空のファイルを作成します。これにより、512 MBのファイルが作成されます(512 * 1024 ^ 2/4096 = 131072)

  • スワップを作成して有効にしますSudo mkswap /media/YOURSTICK/swap && swapon -p 1000 /media/YOURSTICK/swap

USBスティックの交換は、HDDにある交換よりも高速ではありません。また、それは長期的にスティックを殺します、書き込みはUSBスティックにそれをします。

使用可能なRAMの量を増やすには、 zram を確認してください。

12
turbo

http://www.tuxgarage.com/2011/07/add-virtual-ram-to-ubuntu-using-spare.html

USBドライブを接続し、ドライブに重要なファイルがないことを確認します。ドライブ上のすべてのファイルを削除するか、再フォーマットしてターミナルに移動します。

まず、Ubuntuを接続したときにUbuntuが自動マウントした場合、ドライブをアンマウントする必要があります。

Sudo umount /media/drive-label

ここで、「drive-label」は、USBドライブのマウント時に表示される名前です。

または、次の方法でも実行できます。

Sudo umount /dev/sdx1

「sdx1」はドライブ/パーティションのレターです。次のコマンドを実行して見つけることができます:

Sudo fdisk -l

次に、USBドライブにスワップファイルを作成します。

Sudo mkswap /dev/sdx1

「sdx1」は、上記の「fdisk -l」コマンドの出力から算出したドライブ文字です。

次に、新しいスワップをオンにします。

Sudo swapon -p 32767 /dev/sdx1

できた!

新しいスワップが機能していることを確認するために、次のコマンドの出力を確認できます。

cat /proc/swaps

私の出力は次のとおりです。

/dev/sda2 partition 2047992 60692 -1
/dev/sdb1 partition 7912708 17764 32767

スティックを取り出すには、まずスワップをオフにします。

Sudo swapoff /dev/sdx1
5
Sean

システムにRAMを本当に追加する必要がある場合は、メモリスティックをさらにインストールするか、マシンの物理メモリを増やす以外に方法はありません。

USBを使用すると、スワップファイルのみが増加するような方法でRAMを増加させることはできません。また、USB 480mbの転送制限により読み取り/書き込み時間が減少します。

パフォーマンスを向上させたい場合は、「zRam」を使用してください。これにより、既存のシステムに特別なファイルが追加され、システムの仮想メモリが増加します。現在のRAMに保存されている圧縮ブロックテクノロジーを使用するため、I/O書き込み時間が短縮されます。

詳細 こちら

4
Ringtail

私はすでにこれを試しました。しかし、何かを書くときのUSBスティックはとても遅いです。

システムがusbスワップを使用しているときに、非常に短いハングが連続して発生しました。私のスティックがとても安かったのかもしれません。

2
Mait