各プロセスで開かれたファイル数を見つける方法

各プロセスで開かれたファイル数を見つける方法

カフカサービスあり(systemctlサービスとして)

サービスで開かれたファイル数を設定しました。

例:

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=1500000
Type=forking
User=root
Group=kafka

さて、サービスが起動したら、kafkaサービスが消費するファイルの数を知りたいと思います。

Googleで知った事実 -https://www.cyberciti.biz/faq/howto-linux-get-list-of-open-files/

fstatこのコマンドを使用して、開いているファイルの数をキャプチャできます。

〜のように

fstat -p {PID}

私たちは本番RHEL 7.6セキュリティサーバーを使用しているので、これがfstat私たちのサーバーにインストールできるかどうかはわかりません。

では、他のアイデアを知りたいですか?

他のアプローチを取ってくれてありがとう。

他の提案された方法は次のとおりです。ls "/proc/$pid/fd"

しかし、これは私のコンピュータの実際の例です。

ls /proc/176909/fd  |more
0
1
10
100
1000
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
1001
10010
10011
10012
.
.
.

そうすれば、長い数字のリストが得られます。

ベストアンサー1

コメントで述べたように、wc次のコマンドを使用できます。

ls  "/proc/$pid/fd"|wc -l

-l行数の計算(lsコマンド結果)

おすすめ記事