IBM Curam in Intellij

Hi all

I'm currently working on a project where we customize Curam, an IBM package.  That piece of software has a lot of folders and a massive amount of files that are imported in the IDE.  (By massive I mean 300k+).  These files are contained in quite an impressive list of folders, of which I included most.  I only included a handful, to make sure that indexing the whole bunch doesn't crash my Intellij every time I do a new build.   These are not modules that are deployed on a Tomcat or so.  The client files are generated by an Ant script and Tomcat is configured locally, so it points to the folder where the generated files are being kept.  So basically, I configured Tomcat as an External Tool and I run that, instead of deploying a Module to it.

The project was generated based on .classpath files from Eclipse.  Now, long story short, performance is ridiculously slow.  I have an SSD with 8 GB of Ram and it takes me _ages_ to run the application.  Going 3 steps further sometimes takes me more than 20-25 minutes, which is unacceptable.  I already checked memory usage, but it's about 1 GB of RAM, which is not that much imo.  CPU usage is rather low.

For example, I'm running the application now and Memory Usage is about +- 5 GB, of which Intellij takes 1GB and Java 900MB.  

Is there a way of tweaking memory usage?  I modified idea.exe.vmoptions to these settings:

-server
-Xms1024m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=900m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50

Unfortunately, that didn't do much.  I also disabled a couple of plugins, but now my Intellij doesn't start anymore :rolleyes.  

Any ideas what else I can tweak or what I can do to improve memory usage?  What's also pretty annoying, this is a company laptop, so we have that magnificent piece of software, called Sophos, installed, to make sure everything is secure (and incredibly slow).

4 comments
Comment actions Permalink

Antivirus might be the case, you can try configuring it so that it doesn't monitor the project folders and IDEA caches folder (https://intellij-support.jetbrains.com/entries/23358108).

As for the project, make sure only required folders are included. Folders with lots of generated files (such as logs or compiled classes should be excluded). You normally only include the source files and resources.
If your source files are generated via Ant, every time you generate them again, IDEA will have to index them.

Also try to capture CPU/Memory snapshots, maybe it will show where the problem is: https://intellij-support.jetbrains.com/entries/29983118 .

0
Comment actions Permalink

The problem is that we cannot exclude those build files, as they contain generated files that are used by the code.  I already excluded most of the modules, so those aren't being indexed (and that speeded up a little).  Changing antivirus settings is not an option (company policy).

I'll try to have a look at those memory snapshots, maybe that 'll tell me something.

0
Comment actions Permalink

I have no idea what the problem is, but nothing works anymore.  If you compile the code files, everything ends up in a build-folder.  So all jars, xml files and so on end up there.  Now, when I run something in Intellij and I add the "Make" target to my Runtime Configuration, it takes HOURS before anything happens.  I reinstalled Intellij, because I always got an error message saying that I had insufficient memory available.  For some reason my .IntelliJIdea14 was 14GB.  When I added the parameters -Xmx2g -Xms1g, it still complained about insufficient memory.

I just created a Unit test and the compiled class is in the build-folder.  However, Intellij keeps complaining that he can't find the class.

For a product that is not cheap, one would expect that a project imported from Eclipse would work the first time you fire it up.  However, it doesn't and there aren't any clear pointers what the problem is.  For instance, is it possible to find what the "Make" target is actually doing?  "Parsing Java files", but I excluded ALL my component folders.  So there are hardly any Source folders on the classpath.  If I would do a count of the Java files that are visible to Intellij, I wouldn't reach 100.  I would like to know what is taking so much time to compile.  I already lost 4 hours to this today :-/.

0
Comment actions Permalink

You can enable debug logging for the build process and inspect the build log file: https://intellij-support.jetbrains.com/entries/23358108 .

0

Please sign in to leave a comment.