ご存知のように、メモリのアクセス速度は非常に重要です。 磁気メモリとプロセッサの間で過去に発生したボトルネックは、より高速なバッファメモリを含める必要があることを意味しました。 羊。 その後、マイクロプロセッサの進歩に伴い、RAMとCPUレジスタの間にバッファを提供するためにさらに高速なキャッシュが登場しました。 最近では、フラッシュメモリをベースにしているため磁気機械式HDDよりも高速なSSDハードドライブが登場しました。
ギガバイトは数年前にRAMを搭載したハードドライブを作成することを考えました (i-RAMと呼ばれるRAMDisk)、ハードドライブと比較して非常に高速なメモリですが、PhysXカードを使用してAgeiaに起こったことと同様のことが起こりました。 それらは実際にはゲル化せず、最終的に市場から姿を消しました。SSD(およびRAMベースのSSD)を使用すると、さらに意味がなくなります。 どんな内容ですか? 基本的には、RAMメモリを使用してデータをハードディスクのように保存しているため、アクセスがはるかに高速になります。
転送を高速化し、必要なディレクトリ、ファイル、またはプログラムにアクセスするために、i-RAMやSSDなどは必要ありません。 そのためにあなたはすることができます LinuxディストリビューションにRAMDiskを作成します。 唯一の要件は、超高速の「ハードディスク」として使用するために少し予約するのに十分なRAM(4 GB以上を推奨)を用意することです。 ラップトップ用の一部のGPUが共有メモリで行ったことと似ていますが、この場合はデータ用です。
このメモリを作成するには、使用しているメモリを計算する必要があります。メモリの全部または大部分を使い果たすと、作成された目的でRAMが不足し、バカになるためです。 たとえば、8GBのRAMがある場合、RAMDiskに2GBを使用できます。 繰り返しますが、彼のことは、RAMが多いということです。2GBまたは4GBの場合、それだけの価値はないかもしれません...( "size ="でサイズを指定してください。私の例では、1024MBを選択しました。つまり、 1GB、または「M」の代わりに「G」を使用してGBで指定することもできます)これがわかったら、 次の手順 ターミナルから:
mkdir /tmp/ramdisk mount -t tmpfs none /tmp/randisk -o size=1024M
これでRAMに1GBが予約されたので、作成したramdiskディレクトリに必要なものを追加できます。 パフォーマンステストを行うと、その方法がわかります それは速いです 必要に応じて、ext4やramfsなどのtmpfs以外の別のファイルシステムを使用してRAMにパーティションを作成できます。
そして、モンタージュ入力を残したい場合は…注意してください!! PCの電源を切ったり、再起動したりすると、ここに保存したデータは失われますが、入力は残ります。起動するたびにパーティションを作成する必要がないようにします 次のトリックを使用して、パーティションテーブル(fstab)に追加し、自動的に作成されるようにします(お気に入りのテキストエディターを使用して入力を編集します:vi、nano、gedit ...):
gedit /etc/fstab Y en el fichero de texto que se abre crea la siguiente entrada sin comillas "tmpfs /mnt/ramdisk tmpfs nodev, nosuid, noexec, nodiratime, size=1024M 0 0"
重要: 再起動またはシャットダウンすると、データが消えることを忘れないでください RAMは揮発性メモリであるため、コンピュータ。 したがって、保持したいものは何でも、ハードドライブパーティションにコピーを作成します。
機器の電源を切った後も、データはメモリに残りますか? RAMは揮発性であるため、これを言います。 それを説明していただければ幸いです。
こんにちは、
そうです、私は記事の中で、コンピュータを起動するたびに揮発性であるために削除されるとコメントするのを忘れていました。 私に思い出させてくれてありがとう、私はすでにそれを追加しました。 誰もがデータを失うことがないように、見落としてはならない非常に重要なことです。
乾杯と私が助けてくれることを願っています。 ありがとう!!!
私が見たのは、このパーティションを実行するプログラムがあるということです。 これらのプログラムが行うことは、RAMにあるデータのハードディスク上にイメージを作成して、再起動したときにそれらが失われないようにすることです。 その後、システムが起動すると、私が理解しているように、ハードディスクに保存されたデータはRAMにダンプされ、再び使用できるようになります。 メモと迅速な対応に感謝します! ご挨拶!
興味深いことに、いくつかの実用的なアプリケーション、最初にこのRAMパーティションを作成し、目的のファイルをロードするスクリプトについて考えることです。データベースを配置することは役に立ちません...? あなたは主題を調査しなければなりません...メモをありがとう。
それはfsの詳細を説明するだけで機能するかもしれません。 私のテストでは、次のようにしか機能しませんでした。
mount -t tmpfs tmpfs / tmp / ramdisk -o size = 300m
信じられないほど、GNU / LINUXで実行できる素晴らしさ。 :)
そのRAMDiskを「tmp」パーティションに使用するのはどうですか?
できること、できた、コードを入れる必要があるでしょう、私はそれを使うために、私が主題の実用性について尋ねるコードを求めません。 データベースの場合、私は正しく覚えていますが、RAM内のデータベーステーブルをサポートするオプションがすでにあることに注意してください。例:https:// dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting.html
運が良ければ、過去20年間にドラッグすると、64GiBのRAMを使用できるため、VirtualBOX(またはその他の仮想マシン)の仮想ハードディスクファイルをRAMにコピーできます。 このファイルは48GiBを超えないことを前提としています(Linuxおよび仮想マシン用に十分な空きRAMを残すため)。 このようにして仮想マシンが飛行し、仮想マシンの変更も失われたい場合(不変性)、マシンの仮想ハードディスクを不変にするパフォーマンスを失う必要がなくなります。これは、開始する前にコピーするためです。 NVMe / SSD / HDDからRAMに移動し、RAMにあるものをすべてオフにすると失われます(この場合に必要なのは不変性です)。
したがって、RAMが非常に多い場合は、ハードディスクのイメージを不変ではなく固定サイズにして、アクセスで可能な限り最大のパフォーマンスを得ることができます。これは、ハードディスクがRAMにあるという事実とともに、いくつかの仮想マシンを処理するときの本当の喜び(一度にXNUMXつのスナッチのみ)。
仮想マシンの使用が終了したら、仮想ハードディスクの状態を保持する必要があります。これは、仮想ハードディスクがRAMからNVMe / SSD / HDDにコピーされるためです。
私が見たところ、5GiB /秒を少し超える速度で読み取ることができるNVMeがすでにいくつかあり(はい、読み取りで毎秒0ギガバイト)、コピーに48つだけを使用する(RAIDXNUMXなどでさらに高速になります)それからRAMへのXNUMXGiB仮想ハードディスクイメージは約XNUMX秒しかかかりません。
反対のプロセス(RAMからNVMeへ)を実行するときの短所により、私が今見た中で最も速いのは、書き込みで3GiB /秒を少し超える(はい、書き込みで毎秒48ギガバイト)ので、XNUMXGiB仮想ハードのイメージを保存しますRAMからNVMeへのドライブは約XNUMX秒しかかかりません。これもまた巨大なオレです!
Linuxで最速のNVMeと64GiBのRAMのいずれかを使用し、Windows 10などの仮想マシンを使用する予定です。RAMを使用して仮想マシンのハードディスクをホストする場合は、かなり合格です。
そして今、Linuxへの贈り物...ブート中にLinuxシステムのルート全体をRAMにコピーしてブートを継続する「ramroot」(少なくともArchベースのディストリビューションのようです)と呼ばれるパッケージがすでにあります。 RAMから。これを使用すると、使用しているLinuxで不変性が得られます。もちろん、RAMから実行されますが、起動時間が多少長くなります。
これを読んだ人は、起動時にRAMにコピーされるCD / USBから起動可能なLinuxディストリビューション(SystemRescueCDなど)を知っていれば、それが提供する利点を知っているでしょう:それは常に同じように起動し、常に可能な限り速く進みますすべてがRAMにあるため、起動時またはLinuxの使用中に物理ディスクに何も書き込まれません(SSDの寿命を延ばすのに非常に便利なもので、個人的には120か月未満で、XNUMXテラバイト未満しか書き込まれず、一部のSSDはすでに残っています私が仕事をしている、具体的にはKingDianブランドのXNUMXGB)。ただし、読み取りと書き込みで何かをマウントしてそこに保存し、これを仮想マシンと組み合わせると、システムはディスクアクセスで「飛ぶ」ので、誰もがRAMにアクセスします。
すべてのLinuxをRAMに入れると、SSDとNVMeの耐用年数が大幅に長くなります。これは、起動時に何も書き込まれないか、ほとんど何も書き込まれず、一度は起動しない限り、まったく何も開始しないためです。
私のテストは、7GiB DDR2700MHzおよび4.35GiBNVidia 8Tiグラフィックスを搭載したRyzen16 64X(4GHz、3200コアおよび1050スレッド)で行われました。
注:1TiBのRAMをサポートするマザーボードや、ThreadRipper64などの2スレッドのマイクもあります。
あなたのコメントは非常に興味深いものですが、必要なRAMで誇張するべきではありません。私はWindows10のVDIイメージを持っています。重量はわずか13GBで、14GBのRAMで非常に簡単に動作します。
OS全体をRAMにマウントすることについては、それほど多くないことはよくわかりません。 オンザフライ圧縮が有効になっているBTRFSでフォーマットされたSSDを使用している場合(ドライブに書き込まれるデータはかなり少ない)、パッケージのインストール時にシステムパーティションに書き込まれるデータはほとんどないためです(明らかに、 SSD /ディスク)、構成ファイルが変更され(無視できるサイズのテキストファイル、BTRFSのLZO圧縮により、さらに無視できるサイズのままになります)、大砲のショットでハエを殺すように見えるため、他にはほとんどありません。 ユーザーが4GBを超える場合、RAM内のすべての最新のディストリビューションmotan / tmpはRAMだと思います。したがって、SSD /ディスクは、書き込まれる多くの一時操作で最も摩耗が少ないことを覚えておいてください。これは私が使用したものです。数年前に/パーティションにもっと杖を置くために。
もうXNUMXつは家です。データは常に書き込まれます。キャッシュ、ウィンドウを移動した場合に時々変更される設定、ダウンロードなどです。 いくつかのツールがあるはずですが、RAMでのみ作業し、本当に必要な場合にのみディスクに同期することは興味深いかもしれません(あるかどうかはわかりませんが、驚くことではありませんが、コメントを読むまでは件名については考えていません)セッションを閉じるときに、保存せずに/ホームに変更があることをユーザーに思い出させたり、ディスクに同期するかどうかを尋ねたりすることもできます。コンピューターの電源を切り、XNUMX秒後にリードを取ります。
「1TiBのRAMをサポートするマザーボードや、ThreadRipper64などの2スレッドのマイクもあります。」
すでに、そしてまだはるかに多くをサポートしているが、xDを手放さないラック。 人々が800ユーロのチームを買う余裕がほとんどない惑星地球に戻りましょう...
ご挨拶。
「私はWindows10のVDIイメージを持っています。重量はわずか13GBで、14GBのRAMを使用すると非常に簡単に動作します。」
申し訳ありませんが、24GBを意味しました。 私の指は次のキーに行きましたか?