問題タブ [ramdrive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caching - コンパイル用の RAM ドライブ - そのようなものはありますか?
Stack Overflow に関する質問の 1 つに対する回答 (以下を参照)から、世界中のコーダーにとってかけがえのない素晴らしいソフトウェアのアイデアが浮かびました。
私は RAM ドライブ ソフトウェアを想像していますが、決定的な違いが 1 つあります。それは、ハード ドライブ上の実際のフォルダーをミラーリングすることです。より具体的には、現在取り組んでいるプロジェクトを含むフォルダーです。このようにして、ビルドはほぼ瞬時に実行されます (または、少なくとも 2 桁高速になります)。RAM ドライブは、アイドル状態のリソースのみを使用して、バックグラウンドでその内容をハード ディスク ドライブと同期します。
簡単な Google 検索では何もわかりませんでしたが、Google の検索方法がわからないだけかもしれません。おそらく誰かがそのようなソフトウェアを知っていますか? できれば無料ですが、妥当な料金でもかまいません。
追加:最初に破棄したいくつかの解決策が提案されました。それらは次のようになります (順不同):
- より高速なハードディスク ドライブ ( SSDか 10K RPM) を購入します。ハードウェア ソリューションは必要ありません。ソフトウェアが安価になる可能性があるだけでなく (フリーウェアですか?)、ハードウェアの変更が不可能ではないにしても歓迎されない環境 (オフィスなど) でも使用できます。
- OS/HDD にキャッシングを任せてください。空き RAM の使用方法を OS/HDD の方がよく知っています。OS/HDD には、すべてをキャッシュし、将来どのデータが最も必要になるかを予測しようとする汎用キャッシュ アルゴリズムがあります。彼らは、私にとって優先順位がプロジェクト フォルダーであることを知りません。そして、私たち全員がよく知っているように、とにかくあまりキャッシュしません。;)
- 周りにはたくさんの RAM ドライブがあります。それらのいずれかを使用します。すみません、それは無謀です。少し空き時間があるときはいつでも、データを HDD に同期する必要があります。停電が発生した場合、最後の 5 分間の作業を失うことは耐えられますが、最後のチェックイン以降のすべてではありません。
追加 2:思いついたアイデア - 通常の RAM ドライブとバックグラウンド フォルダー シンクロナイザーを使用します (ただし、バックグラウンドを意味します)。そのようなことはありますか?
追加 3:興味深い。仕事で単純なRAMドライブを試しました。再構築時間は ~14 秒から ~7 秒 (悪くはない) に短縮されますが、インクリメンタル ビルドは依然として ~5 秒です - HDD と同じです。理由はありますか?と を使用aspnet_compiler
しaspnet_merge
ます。おそらく、彼らは他の場所にある他の一時ファイルで何かをしているでしょうか?
追加 4:ああ、素晴らしい新しい回答セットです! :) OK、否定論者の皆さんにもう少し情報があります。:)
このアイデアの主な理由の 1 つは、上記のソフトウェア (ビルド時間 14 秒) ではなく、当時私がアクセスできなかった別のソフトウェアです。この別のアプリケーションには 100 MB のコード ベースがあり、完全なビルドには約 5 分かかります。ああ、それはDelphi 5にあるので、コンパイラはあまり高度ではありません。:) ソースを RAM ドライブに置くと、大きな違いが生じました。1分もかからなかったと思います。私は測定していません。したがって、OS の方がキャッシュをより適切に処理できると言うすべての人にとって、私は異議を唱えたいと思います。
関連する質問:
最初のリンクに関する注意: リンク先 の質問は重複しているため削除されました。それは尋ねました:
コードのコンパイル中に何をしますか?
そして、私がリンクしたDmitri Nesterukの答えは次のとおりです。
私はほぼ瞬時にコンパイルします。私のプロジェクトが小さいことと、RAM ディスクを使用していることが原因の 1 つです。
performance - RAM ディスクを使用して IDE を高速化できますか?
複製:
IDE を高速化する方法を考えています。
RAM ディスクを作成し、ソリューションをこの仮想ディスクに移動したいと考えています。
RAMはHDDよりもはるかに高速であるため、これによりIDEが高速化されると思います。
誰もこれをやったことがありますか?
PS: 私のプログラム (実際の世界) に頻繁に使用されるドキュメント (ドキュメント テンプレートなど) がある場合、これらのドキュメントを RAM ディスクに移動して I/O を高速化することをお勧めします。私が間違っている?
電源に問題がある場合は、UPS で解決できます。
eclipse - Eclipse 開発用の Ramdisk の使用を最適化する
私たちは、4GB RAM を搭載した 32 ビット Vista マシンで Eclipse を使用して Java/SpringSource アプリケーションを開発しています。OS は、仮想アドレス空間でのハードウェアなどの予約により、約 3.3 GB の RAM を公開します。OS に隠された RAM から仮想ディスクを作成できる Ramdisk ドライバーをいくつか見つけたので、740MB の仮想ディスクを使用して環境での開発を高速化する方法の提案を探しています。
私たちにとって開発の最も遅い部分は、SpringSource dm Server のコンパイルと起動です。
1 つのオプションは、Ramdisk にスワップするように Vista を構成することです。これは機能し、メモリ不足の状況での開発を著しくスピードアップします。ただし、OS で使用できる 3.3GB で十分な場合が多く、スワップ ファイルをあまり使用しない状況が多くあります。
もう 1 つのオプションは、Ramdisk を一時ファイルの場所として使用することです。Vista の mklink コマンドを使用して、SpringSource dm サーバーの作業領域が通常存在する場所から RAM ディスクへのハード リンクを作成しました。これにより、サーバーの起動時間は大幅に改善されますが、コンパイル時間には何も影響しません。作業ディレクトリが完全に使用されている場合、Ramdisk にはまだ約 500MB の空き容量があるため、さらに多くの空き領域があります。
Ramdisk に配置する候補として他に考えられるファイル/ディレクトリは? Eclipse 関連のファイル? (の一部) JDK?
当て推量を減らすために、一定期間に最も頻繁に使用されるファイルを表示する、Vista 用の無料/オープン ソース ツールはありますか?
linux-kernel - -o ループなしでマウント
Linux カーネル用のダミー (RAM ディスク) ブロック デバイス ドライバーを作成しました。ドライバーがロードされると、/dev/mybd として表示されます。
dd コマンドを使用してデータを正常に転送でき、コピーされたデータを正常に比較できます。
問題は、その上に ext2/3 ファイルシステムを作成するときに、mount コマンドで -o loop オプションを使用する必要があることです。それ以外の場合、マウントは次の結果で失敗します。
マウント: fs タイプが正しくない、オプションが正しくない、mybd のスーパーブロックが正しくない、コードページまたはヘルパー プログラムがない、またはその他のエラー
何が問題なのですか?助けてください。
ありがとう。
windows - Windows システムにおける /dev/shm の等価物は何ですか?
一時ファイルをメイン メモリに読み書きして IO を高速化するにはどうすればよいか考えていました。Linux で /dev/shm に書き込みを行っていました。
しかし今、私は Windows 7 を使用しています。答えを知っている人はいますか?
ありがとう
java - アプリケーションのパフォーマンスを高速化するための実稼働環境でのRAMディスクの使用
私のアプリケーションは、データベースとのチャット性のために問題に直面しています。多くのI/O操作またはデータベース呼び出しのため、フロー専用のバッチジョブを完了するのに時間がかかります。コードの最適化が進行中であり、このプロセスが良い結果を示すまでには少し時間がかかります。
- RAMdiskを実稼働環境にインストールし、jdkとSQLサーバーをRAMDiskにインストールできますか?
- これはすべてのI/O操作に役立ちますか?
- 少なくともバッチジョブの場合、パフォーマンスを向上させることはできますか?
eclipse - Maven を使用する Eclipse で、ビルド ディレクトリを RAM ドライブに配置したいと考えています。project.build.directory を指定するにはどうすればよいですか?
私はEclipseを使用してDITAファイルをPDFにコンパイルしていますが、最終的なPDFファイルを生成する前に中間ファイルを多く操作しています。プロセスを高速化するために、これらの中間ファイルを RAM ドライブに保存したいと考えています。project.build.directory は、Maven と Eclipse が「ターゲット」が配置されている場所を通信するために使用している可能性が最も高い候補変数のように見えます。
もう 1 つの方法は、RAM ドライブにワークスペースを作成してそこで作業することですが、クラッシュや再起動によって保持されないため、5 分ごとに自動保存するか、プロジェクトを頻繁に同期する必要があります。
mysql - RAM ドライブを使用した Windows での MySQL マスター/スレーブ レプリケーションのインストール
興味深い質問です。誰かが私に答えてくれることを願っています!
MySQL エンタープライズを使用するアプリケーションがあります. RAM ドライブを使用してマスター/スレーブ レプリケーションをセットアップできるかどうかを確認しようとしています. アプリケーションは RAM ドライブ(Z:) にインストールされており、スレーブ MySQL インスタンスがオンになっています.ハード ドライブ (C:)。
これはWindowsを使用しています。
これが可能かどうか誰にもわかりますか?もしそうなら、私が指摘できる利用可能なリソースはありますか?
ありがとう。
intellij-idea - gradle と IntelliJ Idea で RAM を使用する
現在、私はgradleを本番Javaビルダーとして使用していますが、遅いです。
コンパイル、ビルド、テスト、および実行がはるかに高速になり、ソース コードが HDD に残るように、ある種の RAM ドライブ作業ディレクトリをセットアップする方法があると考えていました。
理想的には、IDEで何らかの方法で調整できれば(おそらくIDE内部gradleオプション)。
RAMドライブを初期化しましたが、gradleでスタックしました:)何かアイデアはありますか?