2016-03-20 15 views
2

memcachedをunixドメインソケットで使用すると、読み書き可能なファイルシステムはありますか?もしそうなら、ファイルシステムの操作を減らすか、完全に消し去ろうとしているツールでは、これは面倒なことではありませんか?UNIXドメインソケットはファイルシステムの読み書きを実行しますか?

他の方法で質問すると、Unixドメインソケットにメモリのみを使用する可能性はありますか?

Unixドメインソケットがファイルシステムを使用するかどうかはまだわかりませんが、私はCの人ではありませんが、https://github.com/torvalds/linux/blob/master/net/unix/af_unix.cの実装についての概要はほとんど分かりません。ファイルシステムの使用があります。それで、ちょうどメモリ上で動作していないのですか?

編集:私の質問と説明を読んだ後、私は多くの質問をしていて、質問自体は説明とはほとんど異なることを認識しています。私は混乱した質問を申し訳なく思っています。

答えて

2

Linuxカーネルは、内部データまたはアプリケーションデータを永続化しません。ディスクをまったくマウントしなくても、すべてのカーネル機能を使用できます。

ファイルシステムとディスクを区別する必要があります。ファイルシステムは完全に仮想でも、メモリやネットワーク上にあってもかまいません。

一部のPOSIX操作では、UNIXドメインソケットを含む一意の識別子としてパスが使用されます。パスは識別子としてのみ存在します。たとえば、ディスクの使用を避けるために、tmpfsに配置することができます。最近のLinuxシステムでは、/tmp/は通常tmpfsにマウントされています。

ソケットエンドポイントがディスク上にあるファイルシステム内にあっても、ディスク使用量は無視できます。パスはソケット自体の識別/発見にのみ使用されるため、実際のデータはディスクに書き込まれません。また、カーネルはメモリ内のパスをキャッシュします。

+0

おかげ@ypnosは、私は私の地元のLinuxでは、私はそこに5 'tmpfsのはfilesystem'であり、いくつかのパスが上に取り付けられ参照、いくつかの基準点を逃したと思います。例: '/ run'だが、'/var/run/libvirt/libvirt-sock'にあるソケットファイルがあるが、 '/ var/run'はtmpfsにマウントされていない。/sda3これは、ソケットファイルがディスクに書き込んでいることを意味していますか?それとも根本的な概念もありますか? – FZE

+0

この問題を明確にするために私はちょうど1分前に自分の答えを編集しました。最後の段落を参照してください。 – ypnos

+0

「Linuxカーネルは、内部のデータやアプリケーションのデータを永続化しません」というさらなる説明をいただき、ありがとうございます。 – FZE

関連する問題