Improve Oracle JDeveloper 12c Performance

To improve Oracle JDeveloper 12c IDE performance, 2 configuration files require modification:

Increase Heap size - ide.conf

1. Go to JDeveloper installation directory e.g. C:\Oracle\Middleware\jdeveloper\

2. Open the file \ide\bin\ide.conf

3. Scroll down and find the following memory entries:

# If you are getting the 'Low Memory Warning' Message Dialog while running
# JDeveloper, please increase the -Xmx value below from the default 800M to
# something greater, like 1024M or 1250M.  If after increasing the value,
# JDeveloper is no longer starting up because it fails to create a virtual
# machine, then please reduce the modified -Xmx value, or use a 64bit JDK
# which allows for very very large value for -Xmx.
#
AddVMOption  -Xms128M
AddVMOption  -Xmx768M

4. Change the memory parameters to something larger and save file:

AddVMOption  -Xms1024M
AddVMOption  -Xmx1024M


Other config changes - jdev.conf

5. Go to JDeveloper installation directory e.g. C:\Oracle\Middleware\jdeveloper\

6. Open the file \jdev\bin\jdev.conf

7. Add the following new entries at the bottom and save file:

# Added from http://onkaroracle.blogspot.co.uk/2015/10/improve-oracle-jdeveloper-12c.html
# optimize the JVM for strings / text editing
AddVMOption -XX:+UseStringCache
AddVMOption -XX:+OptimizeStringConcat
AddVMOption -XX:+UseCompressedStrings

# if on a 64-bit system, but using less than 32 GB RAM, this reduces object pointer memory size
AddVMOption -XX:+UseCompressedOops

# use an aggressive garbage collector (constant small collections)
AddVMOption -XX:+AggressiveOpts

# for multi-core machines, use multiple threads to create objects and reduce pause times
AddVMOption -XX:+UseConcMarkSweepGC
AddVMOption -DVFS_ENABLE=true
AddVMOption -Dsun.java2d.ddoffscreen=false
AddVMOption -XX:+UseParNewGC
AddVMOption -XX:+CMSIncrementalMode
AddVMOption -XX:+CMSIncrementalPacing
AddVMOption -XX:CMSIncrementalDutyCycleMin=0
AddVMOption-XX:CMSIncrementalDutyCycle=10     

7.  Start JDeveloper. If there are issues starting it, then reduce the memory settings in Step 4 to something slightly less and retry.


Credits: The above configurations have been obtained via other blog posters on the internet mainly from here. I have collated the information in one and is something I can personally refer to as well. 

Recommended Laptop specification for Oracle Fusion Middleware development

Recently, my personal development laptop was becoming slow and I thought it was time to upgrade it. I did some research on the type of Laptops my fellow Middleware developers around the world were using but didn't find much information!

After researching, I bought a HP EliteBook 8560w... but the model doesn't mean everything... Sure, you get a quality build etc, but what matters is the specification of the laptop.

 Main laptop spec:

  • i7-2820QM 2.30GHZ Quad core (8 threads)
  • 16GB RAM
  • 256GB SSD
  • 6.9 / 7.1 Windows Experience Index
Results:

  • JDeveloper 12c opens in around 5 seconds
  • Running an ADF application + Starting the WebLogicIntegratedServer instance starts up in around 15-20 seconds.
  • Deploying small sized ADF application onto local server - several seconds

I have to say that the above tech spec results in very good Middleware development performance. I was torn between a 1TB HDD or the 256GB SDD (the SDD cost more!) but I am glad I went for it, I have never experienced such speedy development in my time.

However, most developers will tell you that the more memory (RAM) you have, the better. This is true but depends on what you will be doing. If you are doing SOA development and have a local running SOA instance then you will need around 16GB for smooth performance. If you have a SOA instance + WebCenter instance in separate domains.. Then you will definitely need more! The HP EliteBook 8560w can handle up to 32GB if needed. You can pick up a decent priced one for a refurbished model.


I am currently in the process of downloading the WebCenter 11.1.1.9.0 VM (a huge 18GB download) and looking forward to seeing the performance with that! I will keep this post updated with results.

Please share your machine specs + experiences with me, I would love to know!