ls /proc/$pid/fd が停止しないのに lsof -p $pid が停止するのはなぜですか?

ls /proc/$pid/fd が停止しないのに lsof -p $pid が停止するのはなぜですか?

特定のホストに対してBackupPCの動作が停止する状況が発生しました。ホストはDebian 10を実行しています(Dockerがインストールされています)。

この場合、rsync2つの関連プロセス(親sudo /usr/bin/rsync --server ...と子/usr/bin/rsync --server ...)がホストで実行されています。これは、発行によってrsync現在処理中のファイル(つまり、停止している場所)を見つけようとすると停止しますlsof -p $child_pid(つまり、明らかに返されませんが、Ctrl-Cを使用して停止できます)。ls /proc/$child_pid/fs うまくいく同時に(4 fdのみを返す)

rsyncもしそうなら、これは低迷の根本的な原因に近いかもしれません。どうすればこれが起こりますかlsof -p?いつls /proc/$child_pid/fdではありませんか?常に(ほぼ)すぐに答えを返す必要はありませんか?この状態をさらに診断して修正するにはどうすればよいですか?

修正するext4これで、このホストのファイルシステムで断片化を確認しています。これも時間がかかります...

time e4defrag -v -c $(df -t ext4 | tail -n +2 | awk '{print $1}')

修正するe4defrag -v -c今止まったようです。最後の出力はです"/media/cdrom0" File is not regular file。ホストは実際にはProxmox仮想マシンなので、問題は仮想CD-ROMに関連している可能性がありますか?しかし、その可能性は低く見えます。df /media/cdrom0にインストールされているとマークされていて/、私の記憶が正しい場合は、e4defragこのファイルシステムを通過して現在にあります/var。おそらく/var(サイズ23G)断片化の度合いが高すぎる、長期間が長い、正常、または衝突が発生する可能性がありますe4defragいくつかの制限

ベストアンサー1

最後に、これはNFSサーバーに接続できないときにNFSをコンテナにマウントすることによって発生する「孤立」ファイルに関連しているようです。対応する(e4defragおよび)を識別して削除すると、これlsof以上中断されなくなります。つまり、期待どおりに再実行されました。

おすすめ記事