"lsof"コマンドが出力を出す時間がかかっているため、オープンファイルのリストを見つけるにはLinux(SUSE & RHEL)のコマンドが必要です。 "lsof -n"多くの時間。私たちは "lsof"の代替コマンドを持っていますか?Linuxの "lsof"コマンドの代わりに
おかげで、 Sanghamitra
"lsof"コマンドが出力を出す時間がかかっているため、オープンファイルのリストを見つけるにはLinux(SUSE & RHEL)のコマンドが必要です。 "lsof -n"多くの時間。私たちは "lsof"の代替コマンドを持っていますか?Linuxの "lsof"コマンドの代わりに
おかげで、 Sanghamitra
あなたはprocファイルシステムからファイルを開いて読むことができます。
for p in /proc/{0..9}*; do
i=$(basename "$p")
for f in "$p"/fd/*; do
l=$(readlink -e "$f")
if [ "$l" ]; then
echo "$i: $l"
fi
done
done | sort -u | sort -n
つまり、lsof -n
を使用します。
lsof
それは/dev
0.0.0.0
のような)を持っていません、そして、それらのために質問する結果はタイムアウトします。-n
を使用して、DNS解決部分を無効にすることで、大幅に加速することができます。
とにかく、@cevingの答えを拡張すると、開いているファイルディスクリプタのリストだけでなく、プロセスのアドレススペースにマップされたファイルのリスト(cat /proc/<pid>/map
)も見ることができます。あなたは驚くほどゆっくりと実行中のプロセスを持っている場合
通常、
strace -f -tt -o sux <your command line>
をファイルにダンプしますsux
カーネルは、タイムスタンプと、プロセスが何をしたかを呼び出します。本質的には、と正確にはどのようなプロセスが行われたのかを追跡することができます。。
恐ろしい返事です。私はこれらのすべてのオプションを試してみましょう。すべてのあなたの提案に感謝します。 –
どのように 'lsof'コマンドを実行していますか? – dlmeetei