0

NFS 経由でデータを交換する 2 台のマシンがあります。約 20 バイトの 2 つの異なるファイルです。クライアントはそのファイルを書き込み、サーバーはそれを読み取って削除し、次に別のファイルを書き込み、サーバーは読み取りと削除を行います。等々。2 つのファイルは常に同じ名前です。

それはすべて大丈夫でした。Linux 2.4 を実行します。現在、Linux 2.6 を実行する別のクライアントを追加しました。同じように機能し、異なる名前のファイルのみを使用します。

問題は、新しいクライアントが、ファイルが書き込まれてから約 40 秒後にサーバーからファイルを認識することです。4 ~ 5 秒、または 10 秒待つことはできますが、40 秒待つことはできません。

-o vers=2またはを使用してリモート パーティションをマウントしようとしまし-o vers=3たが、効果はありません。その後、試してみましecho 3 > /proc/sys/vm/drop_cachesた ( NFS キャッシュ クリーニング コマンドを参照してください)。効果はありません。

時間差を縮めるにはどうしたらいいですか?

4

1 に答える 1

0

iNotify を使用してファイルシステム イベントを監視し、listen-notify アプローチを組み込むことができます。

inotify API は、ファイル システム イベントを監視するメカニズムを提供します。inotify を使用して、個々のファイルを監視したり、ディレクトリを監視したりできます。ディレクトリが監視されている場合、inotify はディレクトリ自体とディレクトリ内のファイルのイベントを返します。

マンページ

Q: sysfs (procfs、nfs...) を見ることはできますか? 簡単に言えば、はい、ただしいくつかの制限があります。これらの制限は、カーネルのバージョンによって異なり、小さくなる傾向があります。特定のファイルシステムに関する情報をお読みください。

よくある質問ページ

これにより、タイムギャップが減少する可能性が非常に高くなります。

于 2013-07-18T07:55:18.437 に答える