2012-07-05 34 views
35

マルチコアマシンでは、新しいプレーンインストールと空のワークスペースでアイドリングしても、Eclipseは100〜250%のCPUパワーを使用します。実際にやり遂げると、遅く応答しなくなります。アイドル時のEclipseでのCPU使用率が高い

私はここに示唆されているようにメモリ設定を設定しようとしました:Eclipse uses 100 % CPU randomly。それは役に立たなかった。また、OpenJDKとOracle Java 7、そしてEclipse版のJunoとIndigoという異なるJavaバージョンも試しました。私はUbuntu 12.04 LTSを利用しています。

Eclipseを閉じると、Javaプロセスはまだ200%を超えるCPU使用率で開いたままであり、手動で強制終了する必要があります。

+0

eclipseのバージョンとJavaのバージョンはどちらですか? –

+0

は最近プラグインをインストールした悪いプラグインのように聞こえますか? – shem

+0

多分jvisualvmが手がかりを得ることができます。 – shem

答えて

10

私はプラグインでこの問題を抱えていましたが、Eclipse自体ではこの問題がありませんでした。

Help > About Eclipse > Installation detailsに移動し、プラグインを1つずつ無効にして、デバッグを試みることができます。

+4

Eclipse 4.2.2 Junoリリースのインストールの詳細を介してプラグインを「無効にする」のではなく、アンインストールすることができます。つまり、私がMylynプラグイン+ Subclipse Mylynコネクターをすべてアンインストールしたら、私のMac OS X Eclipse Junoは100%以上のCPUを使用することから、ほとんど何も使わなかったのです。提案していただきありがとうございます! –

+0

SVN-Mylinコネクタをアンインストールすると私のケースで助けになったようです – xamde

9

割り当てられたメモリが実際にVMの設定された最大メモリ制限に達したため、ガベージコレクタが狂ってしまったときにのみ、このような動作が発生しました。大規模なEclipseインストールをお持ちの場合、最初の手順は常にincrease the memory settings in the eclipse.iniにする必要があります。

ウィンドウ - >環境設定 - >一般 - >ヒープステータスを表示を有効にしてください。 Eclipseが現在どのくらいのメモリを使用しているかをステータス行に表示します。それが許可された最大値まで上がってもはや低下しない場合(つまり、ガベージコレクタが未使用のオブジェクトをクリーンアップできない場合)、これはまさに私が上で説明したものの表示です。

編集:デフォルトでは異なるプラグインが含まれているので、Eclipseパッケージを使用することも知っておくと良いでしょう。クラシック、モデリング、Java EE開発者、...?

+0

ありがとう、私のMacはちょうどそこに座っている80%のCPUを見せていました。それをチェックアウトし、それは約490mbから508mb以上を続け、その後戻ってきました。変更を加えて、Eclipseを再起動し、現在は3.5%のCPUで待機しています。 – Chrispix

19

私は今日同じ問題を抱えていましたが、それはCPUを占有していたインデックス作成スレッドであることが判明しました。私は最近、かなりたくさんのファイルをプロジェクトに追加して、それについて忘れていました。他の誰かがこの問題を抱えている可能性は低いと思っていますが、それをどのように調査したのかを投稿すると便利かもしれません。

私はeclipse Junoに基づいてSTSでUbuntu 12.10を実行しています。

  1. スタートは、コマンドラインからEclipseと我々はスレッドダンプ
  2. が、それは各スレッドのCPU使用率のリストを取得、その後、少しのために解決することを許可し得ることができるので、出力をファイルにリダイレクトします。ps -mo 'pid lwp stime time pcpu' -C java。ここに私のCPU空腹スレッド識別出力のサンプルです:

    PID LWP STIME TIMEの%のCPU

    6974 - 7時42分午後12時15分51秒133

    7067 7時42分午後12時09は: 49 86.1

  3. スレッドIDを(私の場合は7067)16進数0x1b9bに変換します(例:コマンドラインで:printf "0x%x \ n" 7067)

  4. kill -3:kill -3 6974を使用してJavaプロセスのスレッドダンプを行います。出力は、stdoutをリダイレクトしたファイルに保存されます。 PRIO = 10 TID = 0x00007f66b801a800 NID = 0x1b9b実行可能な[0x00007f66a9e46000]

    "リンクインデクサ遅延書き込み-10":あなたは

  5. ファイルを開き日食開始したスレッドの六角IDを探し

    java.lang.Thread.State:RUNNABLE

    com.ibm.etools.references.internal.bplustree.db.ExtentManager $ WriteBack.rで

+17

プロセスの検査、不正なスレッドの追跡、16進アドレスの読み込み... Eclipseが正常に動作する典型的な日のようです。 –

+1

これは私のためだった。私は私のプロジェクトディレクトリの1つにブーストを引き出すという礼儀正しい間違いをした.Eclipseには動脈瘤があった。 – Gary

+0

Eclipseの中であなたのためにすべてのものをやっている「ワンクリック機能」はいいですね:-)そして、出力は「プラグインをアンインストールしてください。 – Tarator

0

が同じ問題に直面していたが、日食の次のVM引数を渡され、それが私のためにうまく働きました。

-Xmx1300m -XX:PermSizeを= 256メートル -XX:MaxPermSizeを= 256メートル

0

アンMylynのプラグインは私のために問題を修正し、パフォーマンスの向上は、私は6年への答えとして、それを掲示していますように思い切りました古い質問。 Help->About Eclipse->Installation Details->Installed Software

行くと、あなたが使用していない知っすべてのプラグインをアンインストールします。私はmylynプラグインだけをアンインストールし、それは私のために不思議でした。

関連する問題