Set/Increase Memory Available in Rubymine

I did not find anything to love about the results I was getting searching for queries like “Increase rubymine memory” and “set rubymine memory”. Here’s the location of the file that dictates Rubymine memory usage in my Ubuntu install:

[RUBYMINE_DIRECTORY]/bin/rubymine.vmoptions

Inside you can specify lines like:

-Xms800m
-Xmx1200m
-XX:MaxPermSize=1000m
-ea

These declare maximum memory usage, maximum sustained memory usage, and, uh, some other stuff.

[Hops onto soapbox]
I love Rubymine, but I sometimes wish that instead of adding a ridiculous number of new features, they’d just make the damn thing run consistently fast, and not make me worry about memory usage. I know that with my web site I always have a preference toward adding cool new stuff, but responsible thing to do is often to perfect the pieces that are already there. Almost everything negative I’ve heard about Rubymine (which isn’t all that much) is along this same vein, but I’ve never heard the Rubymine team admit that it wishes that the product ran faster or its memory management were better.
[Hops back down]

For my money, still definitely the best choice for Linux IDEs.

4 Replies to “Set/Increase Memory Available in Rubymine”

  1. Hi,
    Actually there is absolutely no sense in increasing max permgen size (-XX:MaxPermSize). Also if you don’t prefer to open several big projects simultaneously, there is no sense in increasing -Xmx (max heap size bound) more than 500 mb. May be exceptions is only 64bit jdk which requires about twice more memory comparing with 32bit version. If you increase -Xmx GC for larger heap will be invoked a bit rare but each GC collection (GC pause) will be much longer. Sometimes it is reasonable to send memory snapshot to RubyMine team (see http://www.jetbrains.net/devnet/docs/DOC-1144) instead of patching -Xmx.

    P.S: On MacOS instead of vmoptions.exe you should change -Xmx in /Applications/RubyMine.app/Contents/Info.plist

  2. Thanks to both — and a final couple of bits of RubyMine memory tweaking:

    Running 64-bit JVM is a memory suck as noted. In MacOS (SnowLeopard and beyond), force RubyMine to run in 32-bit mode as follows: Finder > Applications, right-click RubyMine.app, click Get Info, check Open in 32-bit mode. Note this may need to be repeated after version updates.

    Recommended setting for Xmx is “as small as possible”. Make sure Preferences > Appearance > Show Memory Indicator is on, and monitor. Small size causes more short GC’s which in my experience I barely notice — this is the opposite of the recommendation in http://kailuowang.blogspot.com/2011/04/couple-of-tips-for-rubymine-performance.html, so try what works for you — I am working in a memory-constrained machine.

    Another really big one: Preferences > Project Structure > Exclude the “log” folder; as dev log gets bigger it gets looked at in searches and other stuff. Also consider turning off inspections you never need.

  3. Its interesting what you guys mention regarding trading function for speed, because rubymine seems to be the only jetbrains product i indeed have needed to even google “increase memory rubymine”. I regularly use intelliJ, phpstorm and pycharm. Neither of which have had the performance issues I’ve been experiencing with rubymine. Its strange… anyway see how these memory increases help out…

Leave a Reply to Nick Kaye Cancel reply

Your email address will not be published. Required fields are marked *