web-dev-qa-db-ja.com

不明なJavaプロセスに起因するCPUの頻繁なピーク

数時間、私のセッションで実行されたとしても、Javaプロセスがわからないため、ラップトップのCPU使用率が頻繁にピークになります(下の1行目を参照)。

enter image description here

ピークは不規則に発生し(約5分ごと)、約20秒続きます。それらが発生したとき、私は特別なことは何もしていません(実際には TeXstudio にテキストを入力しています)。システムを再起動した後も継続します。

この問題の原因を絞り込むにはどうすればよいですか?

編集:Andrewの答え のおかげで、ピークは/proc/4146/exe -> /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java...が原因であることがわかりました。しかし、何がそれをトリガーするのか分かりません。

2
ebosi

topで、次を押すことができます c コマンド全体を表示するには、次を使用します  コマンドの詳細を確認するには、おそらく実行中のJavaクラスの名前が含まれます。

結果は、CPU使用率(%CPU)でソートされます。別の方法で結果を並べ替える場合は、top -o <name of the colum>を実行できます(たとえば、top -o PIDを使用してプロセスIDで並べ替えたり、top -o %MEMを使用してメモリの使用量でプロセスを並べ替えます)。

または、ps aux | fgrep Javaを実行して、実行中のすべてのJavaプロセスを表示することもできます。

4
Chai T. Rex

CPUをすべて使用している同様のプロセスを追跡するのにしばらく時間を費やしました。ローカルマシンで最近dockerを使用している場合は、すべてのCPUを使用しているプロセスがdockerから来ているかどうかを確認してください。

Sudo docker container ls` to see running containers

走る

Sudo docker stop <container-name>

それを止めると

Sudo docker rm <container-name>

削除します。

2
Programmingjoe
Sudo ls -l /proc/PID/exe

問題のアプリの場所を特定するのに役立ちます。

2