web-dev-qa-db-ja.com

lsofコマンドが特定のプロセスIDに対して時間がかかりすぎる

Centos 6.7でラッパープログラムを介してJavaアプリケーションを実行しています。そのため、最初にこれを実行しました。

lsof -p 15200 | wc -l and I got the results immediately as 200

次に私はこれを実行しましたlsof -p 15232 | wc -l時間がかかりすぎて、結果が生成されません。開いているファイルの合計を取得するには、他にどのような方法がありますか?システムが一定の時間後にハングし続ける原因を知る必要があります。おそらく、開いているファイルのサイズを増やす必要があります。

4
user8012596

PIDで識別されるプロセス(15232など)によって開かれたファイルの数を取得できます。

ls -l /proc/15232/fd | wc -l

Debianリスト から:

私は次の意味を理解しようとしています:

/proc/$PID/fd/*

ファイル。

これらは、pidが$ PIDであるプロセスの開いているファイルを指すリンクです。 Fdは「ファイル記述子」を意味します。これは、UNIXのようなシステムでのプログラムの入出力を識別する整数です。

これは、実際にlsofコマンドが情報を飲み、プロセスのファイルを提供する場所でもあります。

これはLinuxカーネルの機能であり、ディストリビューションに依存しません。

7
Rui F Ribeiro