IDEAの挙動がおかしくなった場合の対処法(?)

Ken published on
7 min, 1347 words

Categories: Tips

最近、IntelliJ IDEAがモーレツに遅くて、使い物にならなかった。 遅いというか、ファイルを保存しただけで応答がなくなり、強制終了する始末。 結果的に直ったので、直し方(というほどではない)とその間に得たことを書いておこうかな。

環境

環境はMacBook(Late 2008)で、Snow Leopard(10.6.6)。SSD+メモリ8GB。 IntelliJ IDEA Community Edition EAP 103.161。 主にScala用途。

EAPというのは "Early Access Program" のことらしい。詳細は下記ページ参照。 ■ IDEA X EAP - IntelliJ IDEA - Confluence http://confluence.jetbrains.net/display/IDEADEV/IDEA+X+EAP

経緯と症状

初めから重たくて使えなかったわけではなく、当初は結構快適に使ってました。バージョンを10.0.1から10.0.2に上げてからおかしくなった気がする。 症状は上述のとおりIntelliJが急に重たくなり、終いには応答しなくなっていた。原因は今もわからないんだけど、プロジェクトファイル(?)が壊れたのかな? 10.0.1から10.0.2にしたときは、OSが32bitモードで動いていたので、これも関係あるのかも?IDEAと32/64bitのことについては後述。

直し方

直し方というほどのものではなく、プロジェクトを作り直しただけ。 ".idea" ディレクトリをごっそり消して ".iml" ファイルも全部消した。 その後、新たにIDEAでプロジェクトを作ったら快適な環境に戻ってきました♪

重たいときは、SBTコンソールでエンターを押すと "> > >" みたいなプロンプトが改行が追いつかない状態だったんだけど、今は綺麗に改行されてます。あのくるくる(待ち時間が長い時に出るカラフルな風車?)もほとんど出なくなった。

IDEAをより快適に使うために

IDEAの動作を元に戻そうと色々と調べてる間にいくつか得た情報がある。大きくは2つあって、ひとつはIDEAの設定。もうひとつはVMのパラメータ設定。

@teaplanet まずはInspectionを減らすかPower Save Modeを。そんでもダメならメモリまわりをごにょごにょする。http://bit.ly/e6mhhw http://bit.ly/hS2LfLless than a minute ago via Echofon

Inspectionを減らせばいいらしい。

調べてる間にわかったことのひとつに、32/64bitモードが関係しているかもしれないということ。 ■ IntelliJ IDEA 10.0.2 EAP build 103.39 | JetBrains IntelliJ IDEA Blog http://blogs.jetbrains.com/idea/2011/02/intellij-idea-1002-eap-build-10339/ IDEA 10.0.2からは64bitに最適化してあるのか、起動時にもバルーンが出て関連ページへ誘導してくれる。 今はOSもアプリも64bitで動作させてます。 アプリを32bitモードで起動したい場合は、ファインダーでアプリのアイコンを右クリック → 情報を見る →  "32ビットモードで開く" にチェックを入れます。

IDEAのVMのパラメータの指定方法はいくつかある。

  1. 環境変数 "IDEA_VM_OPTIONS" を指定する
  2. $IDEA_HOME/bin/idea.vmoptionsに記述する
  3. info.plistに書く

1も2も$IDEA_HOME/bin/idea.shを見れば書いてあることなんだけど、2はうまく動作しなかったなぁ。なんか書き方を間違っていたっぽい。 info.plistの存在意義とか知らないから、本来はここに書くべきじゃないのかもしれないけど、書いたら設定は反映されました。IDEAの右下のメモリの量が変わるのでわかりやすい。 ちなみに今は "-Xms512m -Xmx512m -XX:MaxPermSize=512m" という設定にしてる。最小と最大を同じにしておくと可変する必要がなく、少しはパフォーマンスがよくなるかも?という話なので、そうしてみた。

IDEAがおかしい時は上記のどれを試しても改善されることはなかったから、上記の設定なんていらないのかもしれないけど🙄

まとめ

IDEAの挙動がおかしいと思ったらプロジェクトを作り直すのが手っ取り早い!! Twitterで情報くださったり、気にしていただいた方々に感謝です!