問題タブ [tmpfs]

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.

0 投票する
1 に答える
485 参照

apache - httpd は、tmpfs のようにマウントされたフォルダー内の index.php を開きません

質問があります: フォルダーをマウントします/var/www/html/testram

そして、いくつかのテキストを含むファイル index.php を置きます。Web ブラウザからサイトを開くと、テキストが表示されません。私が持っているもの:

ログにエラーがあります:

PHP 警告:

私は実験を行い、フォルダだけを作成します

ファイルを作成します

同じテキストで。

この index.php を Web ブラウザから開くと、テキストが表示されます。

tmpfs にマウントされた index.php からのテキストが表示されないのはなぜですか。

ありがとうございました

chown apache.apache -R testram何らかの効果があります

0 投票する
1 に答える
1355 参照

linux - スーパーバイザー プログラムごとに /run にディレクトリを作成する方法は?

スーパーバイザーの下でいくつかの異なるプログラムを実行しているUbuntu 14.04 LTSサーバーがあります。プログラムの多くは、ソケットやその他の名前付きパイプをファイルシステムに格納する必要があり、/runこれらの種類のファイルには理想的な選択肢のようです。残念ながら、/runtmpfs は再起動のたびに削除され、各プログラムが書き込み可能なディレクトリを (再) 作成するには root 権限が必要です。

にいくつかのサブディレクトリを作成し/run、所有者/モードを各プログラムが動作できるものに設定する方法が必要です。スーパーバイザーがそれらを起動しようとする前に、再起動するたびにそうします。Supervisor が、プログラムを開始する前に開始前コマンドを実行するメカニズムをサポートしているようには見えません。

このタイプの質問に対する他のほとんどの回答は、init スクリプトで実行することを提案していますが、それは Supervisor のパッケージに属しており、私はそれを台無しにしたくありません (または、アップストリームが変更されたときに維持する必要があります)。

このマシンに Systemd があれば、 を使用できるように見えます/etc/tmpfiles.dが、使用できません。

私が思いついた最良のアイデアはpre-start、実際にプロセスを起動せずにディレクトリを作成するだけの個別の Upstart スクリプトをプログラムごとに使用することでした。何かのようなもの:

/etc/init/myapp1.conf

...線なしexecで。これが有効であるか正気であるかについて 100% 確信があるわけではありませんが、機能しているようです。このようなことを行うためのよりクリーンな方法はありますか?

0 投票する
1 に答える
1371 参照

memory - tmpfs または ramfs を特定のメモリ ノードにバインドする

2 つのメモリ ノードを持つ NUMA サーバーで作業しています。

tmpfs や ramfs などのメイン メモリにロードされるファイル システムを作成し、それを特定のメモリ ノードにバインドしたいと考えています。言い換えれば、ramfs の内容が 2 つのメモリ ノード間でインターリーブされることは望ましくありません。

では、どうすればこれを達成できますか?

--file オプションを指定して numactl コマンドを試しましたが、単一のファイルに対してのみ機能するようです (ディレクトリをロードする必要があります)。

ありがとう

0 投票する
4 に答える
841 参照

bash - bashで重複ファイルを見つける時間の複雑さ

今日、md5 ハッシュを使用して、重複ファイルを削除する Bash スクリプトを作成する必要がありました。これらのハッシュをファイルとして一時ディレクトリに保存しました。

それは完璧に機能しましたが、疑問に思いました: それは時間効率の良い方法ですか? 最初はMD5ハッシュをファイルに保存することを考えていましたが、「いいえ、このファイルに特定のMD5が含まれているかどうかを確認するには、毎回完全に再読み取りする必要があるため」と考えました。さて、「ディレクトリにファイルを作成する」方法を使用する場合も同じですか?同じディレクトリに多数のファイルがある場合、Bash [ -f ] は線形または準一定の複雑さをチェックしますか?

ファイルシステムに依存する場合、tmpfs の複雑さは何ですか?

0 投票する
1 に答える
951 参照

gradle - Gradle はビルド フォルダーを /tmp に移動します

のように、ビルド フォルダーをどこかに移動するにはどうすればよいのでしょうか/tmp

私の場合、/tmpフォルダは tmpfs で、ホーム フォルダは暗号化されています。ビルド プロセスを高速化し、ハードディスクの負荷を軽減しない理由はありません。

0 投票する
0 に答える
115 参照

linux - Linux tmpfs へのアクセスはトランザクショナルですか?

現在、分散アプリケーションで奇妙な問題に直面しています。このアプリケーションは通常、次のことを行います。

  • NFSv3 ファイルシステムからのデータの読み取りと書き込み
  • tmpfs ファイルシステムからのデータの読み取りと書き込み
  • 1 つのプロセスが tmpfs でファイルを生成し、別のプロセス (または最終的に pthread である別の Java スレッド) でそれらにアクセスします。
  • 1 つのプロセスが NFSv3 でファイルを生成し、別のプロセス (または最終的に pthread である別の Java スレッド) でそれらにアクセスします。
  • NFSv3 にデータを書き込み、別のマシンから同じデータを読み取る

NFSv3 で多くの遅延の問題が発見されましたが、これらの問題は既知のものです。NFS にファイルを書き込んで、別のマシンから読み取ろうとすると、他のマシンで stat syscall が実行されたときに、利用できるようになるまでに最大 90 秒かかることがあります。

そのため、この問題に対処するためにいくつかの再試行コードを実装しました。

最近、tmpfs でも同様の動作を発見しましたが、これは RAM にあるため、書き込みの最後に別のスレッドが実行された同じマシンが書き込みの最後にファイルを参照する必要があると考えましたが、エラーが発生しました。

そこで、別の再試行ブロックを再度実装することにしました

問題は、コードがファイルへの書き込みを停止したときに tmpfs がトランザクションに対応するかどうかです。

そして、より一般的には、異なるファイルシステムでこの概念がどのように適用されるのでしょうか?

ありがとうマルコ

0 投票する
0 に答える
753 参照

docker - docker コンテナー内の pid ファイルをどうするか

/var/run/ に pid ファイルが残っているため、2 回目の実行でコンテナーが起動しません。

/var/run/ を tmpfs にマウントすることを考えていますが、それにはコンテナーを特権で実行する必要があります。

pid (およびその他の一時) ファイルを処理するより良い方法はありますか?

0 投票する
0 に答える
959 参照

java - Java で tmpfs を使用してディレクトリをメモリに格納する方法の例

メモリ内にディレクトリを作成したいのですが、数日間のグーグル検索の後、tmpfs を使用することがその方法の 1 つであることを発見しました。tmpfs と Java を使用してディレクトリを作成する方法を知っている人がいればお願いします。システムにディレクトリを作成するために私が使用しているものは次のとおりです。

0 投票する
2 に答える
570 参照

mysql - 2つのサーバーで異なるSQLが説明されています。「tmp テーブルへのコピー」が非常に遅い

実稼働環境よりも開発サーバーで実行する時間が短いクエリがあります (データベースは同じです)。製品サーバーははるかに効率的です (64 GB RAM、12 コアなど)。

クエリは次のとおりです。

開発サーバーで次の結果を説明します。

そして、これはprodからのものです:

prod サーバーでのプロファイリング結果は、次のような結果を示しました。

しばらくグーグルで調べた後、一時テーブルを RAM に移動することにしました。

/etc/fstab:

ディレクトリ ルール:

/etc/mysql/my.cnf (値でたくさん遊んだ):

そして、それは機能しません。実行時間は変わらず、約 5 秒です。2つの質問に答えてください:

  1. tmpfs 構成の何が問題になっていますか?
  2. サーバーで Explain が異なるのはなぜですか。このクエリを最適化するにはどうすればよいですか? (tmpfs を使用していなくても、最後の 'order by' を削除すると、クエリがはるかに速く完了することがわかりました)。

前もって感謝します。