いくつかのJavaアプリがマシン上で実行されていますが、リストに+20 Java
があり、そうではないので、そのプロセスに関する詳細情報を取得する方法はCMD Java
としか表示されません。どれがどのソフトウェアであるかを知っています。htopがツリービューでより多くの洞察を与えることができることは知っていますが、同様のことが上で可能かどうかを知りたいです。
アプリの起動方法を示す-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の使用量を引き起こしているのかを簡単に把握できるようにしたいと思います。
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
ウィンドウにいる間。