lsofコマンドで指定したユーザが開いているプロセスとファイルを把握する方法

linux

以前、lsofコマンドで指定したポート番号を使用しているプロセスを知る方法lsofコマンドで指定したファイルを掴んでいるプロセスを把握する方法を伝えしました。

 

今回はlsofコマンドでユーザが使用しているプロセスおよびファイルを確認する方法をご紹介します。

 

以下のように「-u」オプションに続けて、ユーザ名を指定します。

出力結果のうち、「COMMAND」欄がプロセス、「NAME」欄がファイル名です。(厳密にはファイル名じゃないものもありますが)

 

出力結果が多いので省略しました。

 

何件出力されたかを「wc -l」で確認すると以下の通りでした。

 

今回のようにユーザを指定することで、そのユーザが開いているファイル数のおおよその数を確認することができます。(lsofは「LiSt Open File」ってことからも読み取れますね)

 

このことは、OSのファイルディスクリプタの上限を変更する際に参考になります。

ファイルディスクリプタとは「nofile」のことで、開くことのできるファイルの数でユーザ毎に設定します。

 

ファイルを開こうとした際に「Too many open files」というエラーが出力された場合には、それ以上ファイルを開くことができないので、今回のlsofコマンドで調査を行い上限値をあげることで対応しましょう。

 

Secured By miniOrange
タイトルとURLをコピーしました