web-dev-qa-db-ja.com

Javaプロセスに関する詳細情報を上から取得するにはどうすればよいですか?

いくつかのJavaアプリがマシン上で実行されていますが、リストに+20 Javaがあり、そうではないので、そのプロセスに関する詳細情報を取得する方法はCMD Javaとしか表示されません。どれがどのソフトウェアであるかを知っています。htopがツリービューでより多くの洞察を与えることができることは知っていますが、同様のことが上で可能かどうかを知りたいです。

アップデート#1

アプリの起動方法を示す-cで試してみましたが、問題は、すべてのアプリを同じ方法で起動するラッパーによって起動されることです。つまり、すべてのプロセスは次のようになります。

$ Java -Xms1G -Xmx2G ... 

htopを使用すると、ツリービューに切り替えることができ、ラッパーがどのように開始されたかを確認できるため、より多くの情報が得られます。

$ bash /path-which-tells-me-the-name-of-the-app/wrapper.sh
|-- Java -Xms1G -Xmx2G ... 
|--|--thread1
|--|--thread2
|--|--...`

コメントによると、20のプロセス/アプリのどれがCPUとI/Oの使用量を引き起こしているのかを簡単に把握できるようにしたいと思います。

1
user2693017

man atopをチェックすると、プログラムの起動に使用される完全なコマンドラインを表示するtopのような-cフラグがあることがわかります。

   c    Show the command line of the process.

        Per  process the following fields are shown: process-id, the occu‐
        pation percentage for the choosen resource and  the  command  line
        including arguments.

したがって、フラグを付けて起動します。

atop -c

または、ヒット c インタラクティブなatopウィンドウにいる間。

参考文献

1
terdon