Aurora and NIO

I'm currently getting quite nice results when running Aurora 977 with idea.lax options:

lax.nl.java.option.additional=-server -Xms64m -Xmx64m -XX:+UseConcMarkSweepGC -XX:CompileThreshold=200 -XX:MaxInlineSize=16 -Djars.nocopy=true -Didea.no.jdk.check=true -Didea.system.path="~
.IntelliJIdea
system" -Didea.config.path="~
.IntelliJIdea
config" -Didea.popup.weight=heavy

The WinXP is also 'tuned' down to 19 processes when no applications are running.

However, when I look the VM Size column in task manager, it says Aurora is consuming ~180MB, not the ~90MB which is the usual case in Windows VM with above settings. Is this because Aurora uses NIO buffering for file operations? If so can the NIO buffer usage be somehow tweaked to be less?

I have 'only' 512MB of memory and I want Aurora to conserve as little as possible. The reason for this is that the system performance is bad/horrible if it has to swap.

I can barely keep the 'commit charge' (WinXP) below the 500MB mark when I'm running Aurora, MySQL, Client and Server instances of the app we're developing + mozilla for API reading and google searching. Anything more than that and the system is no longer nice to use.

14 comments

On 11/30/03 2:41 PM, in article
14843348.1070192506220.JavaMail.javamailuser@localhost, "Hezekiel"
<tilaus@almasoftware.com> wrote:

I'm currently getting quite nice results when running Aurora 977 with idea.lax
options:

lax.nl.java.option.additional=-server -Xms64m -Xmx64m -XX:+UseConcMarkSweepGC
-XX:CompileThreshold=200 -XX:MaxInlineSize=16 -Djars.nocopy=true
-Didea.no.jdk.check=true -Didea.system.path="~
.IntelliJIdea
system"
-Didea.config.path="~
.IntelliJIdea
config" -Didea.popup.weight=heavy

The WinXP is also 'tuned' down to 19 processes when no applications are
running.

However, when I look the VM Size column in task manager, it says Aurora is
consuming ~180MB, not the ~90MB which is the usual case in Windows VM with
above settings. Is this because Aurora uses NIO buffering for file operations?
If so can the NIO buffer usage be somehow tweaked to be less?

I have 'only' 512MB of memory and I want Aurora to conserve as little as
possible. The reason for this is that the system performance is bad/horrible
if it has to swap.

I can barely keep the 'commit charge' (WinXP) below the 500MB mark when I'm
running Aurora, MySQL, Client and Server instances of the app we're developing
+ mozilla for API reading and google searching. Anything more than that and
the system is no longer nice to use.


Yes we do use nio for memory mapped files. Swapping those pages in and out
is OK for IDEA performance itself. On other hand I see no way to control
this process since it solely under OS.
--
Maxim Shafirov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


0

Yes we do use nio for memory mapped files. Swapping
those pages in and out
is OK for IDEA performance itself. On other hand I
see no way to control
this process since it solely under OS.
--
Maxim Shafirov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


Isn't it possible to specify the (maximum) size of the memory mapped buffer? I could accept a little drop in performance if memory consumption could be tuned down somewhat.

0

For the record:

Just by starting the aurora with aforementioned parameters the VM size is ~143MB. (No project open). Surely this is not something that is 'solely under OS'?

0

Just to let others know:

I removed the concurrent collector (-XX:+UseConcMarkSweepGC) and the memory usage is ~50MB lower!!

Initial startup shows 110MB on VMSize and after one hour of 'hard use' it's stabilized to ~130MB.

P.S.
build 992 on winXP, project size >500 classes.


0

don't wanna be a smart aleck, but why all these "tunings"?, i don't think you'll make yourself happy by trimming an IDE zu it'S minimum resources
maybe thinking about running db-server on another machine, etc...

0

don't wanna be a smart aleck, but why all these
"tunings"?, i don't think you'll make yourself happy
by trimming an IDE zu it'S minimum resources
maybe thinking about running db-server on another
machine, etc...


Simply put: 'tuned' IDEA runs faster. Why?
The system doesn't need to swap anymore.
WinXP 'barebone' ~100MB (a must)
IDEA ~130MB (a must)
Moz. Firebird ~20MB (best browser IMHO)
MySQL ~40MB (local, since separate server kind of takes the 'portable away' from my laptop)
App server ~60MB
Test client ~60MB
MySQL control center 5..10MB

Total 420MB - There's still some 90MB free before the system really starts to swap (512MB physical). You can guess that without constant swapping my dev. environmet is much more pleasant to use, while still being portable!

P.S.
I'd say that 130MB is not synonymous with 'minimum resorces'. Bloodshed Dev-C++ IDE's footprint is 2MB.. I know it's not the same thing but still..

0

I'd say that 130MB is not synonymous with 'minimum resorces'. Bloodshed Dev-C+ IDE's footprint is 2MB.. I know it's not the same thing but still.. +

hm..which version are you using? the version I have, uses close to 9Mb initially (9,126kb). I just did an update to make sure I have latest version.
Anyway, the pleasure (and functionality) Idea gives me, compered to Dev-c++ one (I am using VS.net mostly, though), cannot be compared ..

0

> Simply put: 'tuned' IDEA runs faster.

Is this measurable or just the placebo effect?

Tom

0

Is this measurable or just the placebo effect?


My JVM memory settings are :

Xms32m -Xmx128m -XX:NewRatio=3 -XX:UseParNewGC -XX:UseConcMarkSweepGC

And honestly, I feel IDEA is more responsive, and there's almost never
10-15s garbage collections like I used to have before.
Otherwise, I don't see any big change in memory consumption.

Guillaume Laforge


0

Is this measurable or just the placebo effect?

Tom


Hmm.. you are saying that a system that doesn't swap doesn't necessarily run any better than a system that occasionally or constantly swaps?

I can leave IDEA in the background, do some other stuff and when I get back to it, it's usable right away. (Not after one minute swap party on my HD.)

server VM is used since I run IDEA >8 hours a day. With that long use almost everything has been compiled to native code and runs smoother as a result of that.

0

hm..which version are you using? the version I have,
uses close to 9Mb initially (9,126kb). I just did an
update to make sure I have latest version.
Anyway, the pleasure (and functionality) Idea gives
me, compered to Dev-c++ one (I am using VS.net
mostly, though), cannot be compared ..


4.9.8.0. The memory usage was measured right after opening a very simple toy project.
VM Size 2MB, Mem usage 6MB.

That seems to be the trend. Native apps have much smaller VM Sizes compared to Mem usage whereas java apps have smaller Mem usage compared to VM Size?? (MySQL seems to be an exception to that rule)

IDEA 922 (After project open >500 classes)
VM Size 104MB, Mem Usage 36MB

0

server VM is used since I run IDEA >8 hours a day. With that long use almost everything has been compiled to native code and runs smoother as a result of that.



could you give me some information about how to use the vm as a server vm?

0

Hezekiel wrote:

That seems to be the trend. Native apps have much smaller VM Sizes compared to Mem usage whereas java apps have smaller Mem usage compared to VM Size?? (MySQL seems to be an exception to that rule)


Actually this is not a native vs java issue. According to the windows
task manager, "mem usage" is how much of the physical memory that
application is using right now. "VM size" is how much of the physical
memory (ie, including swapped memory) the application is using right
now. So foreground applications will usually have a larger mem usage,
since windows will keep that application in physical memory, while
background applications will have a shorter mem usage.

If probably noticed MySQL because most of it's data (memory pages) is
inactive and probably swapped out. However, a big database will use a
lot of memory, so you'll see a short mem usage (since just a small part
of that memory is actually is use) but a larger VM size (because it uses
a lot of memory).

--
MB

0

Please sign in to leave a comment.