Android
AndroidStudio

Android Studio の VM Options について

More than 1 year has passed since last update.

遅まきながら Qiita デビュー。

初めてなので、軽く書いてみます。

今回は、今使っている Android Studio の VM Options について。

Android Studio を起動していると、PC のメモリを激しく消耗していくような気がします。メモリの使用量をいちいち気にしたくはありませんが、性能に余裕のない PC を使っているなど、メモリ消費をコントロールしたい方は VM Options が使えます。

Help → Edit Custom VM Options

Screen Shot 2017-01-18 at 22.19.14.png

私は MacBook Pro の 16GB を使っていますが、同時に Gradle Daemon や Google Chrome などメモリ消費の大きいアプリを使うため、できれば 3GB 程度には押さえたいと考えています。

今のところ、私は次のような設定にしています。

# custom Android Studio VM options, see http://tools.android.com/tech-docs/configuration

-Xms768m
-Xmx1536m
-XX:MaxMetaspaceSize=350m

Screen Shot 2017-01-19 at 21.43.53.png

ちなみに Android Studio 2.2 のデフォルト設定がどうなっているのかを調べてみました。

$ jps -lvm

19970 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50
-da -Djna.nosys=true -Djna.boot.library.path= -Djna.debug_load=true -Djna.debug_load.jna=true -Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Xms256m -Xmx1280m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops
-Djb.vmOptionsFile=/Applications/Android Studio.app/Contents/bin/studio.vmoptions,/Users/kosuke/Library/Preferences/AndroidStudio2.2/studio.vmoptions -Didea.java.redist=Bundled
-Didea.home.path=/Applications/Android Studio.app/Contents -Didea.executable=studio
-Didea.platform.prefix=AndroidStudio -Didea.paths.selector=AndroidStudio2.2


  • Xms ... ヒープメモリの初期サイズ

  • Xmx ... ヒープメモリの最大使用量

  • XX:MaxMetaspaceSize ... Metaspace領域(旧 Permanent領域)の最大サイズ

デフォルトでは

-Xms256m -Xmx1280m -XX:MaxPermSize=350m

となっているため、Android Studio のメモリ消費量を小さくしたければ、この値よりも小さくしなければ意味はない。

私の設定では、どうせ Android Studio のメモリ消費量は大きくなるので、ヒープメモリの初期サイズ(Xms)を大きめに。最大使用量は、微増程度にした。XX:MaxMetaspaceSize はデフォルト値と同じだが、今後デフォルト値が変化することも考慮して、今のデフォルト値で固定した。

よい Android Studio ライフを!


参考:

Configure Android Studio | Android Studio

https://developer.android.com/studio/intro/studio-config.html

Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して

http://equj65.net/tech/java8hotspot/

謝辞:

最初に投稿した記事がだいぶん見当ハズレになっていましたが、@kimukou さんからのご指摘があり、もう一度改めて調べなおして、正確になるように努めました。

この場を借りて、ありがとうございます!