very - how to speed up eclipse oxygen
A few steps I follow, if Eclipse is working slow:
- Any unused plugins installed in Eclipse, should uninstall them. -- Few plugins makes a lot much weight to Eclipse.
Open current working project and close the remaining project. If there is any any dependency among them, just open while running. If all are Maven projects, then with miner local change in pom files, you can make them individual projects also. If you are working on independent projects, then always work on any one project in a workspace. Don't keep multiple projects in single workspace.
Change the type filters. It facilitates to specify particular packages to refer always.
As per my experience, don't change memory JVM parameters. It causes a lot of unknown issues except when you have sound knowledge of JVM parameters.
Un-check auto build always. Particulary, Maven project's auto build is useless.
Close all the files opened, just open current working files.
Use Go Into Work sets. Instead of complete workbench.
Most of the components of your application you can implement and test in standalone also. Learn how to run in standalone without need of server deploy, this makes your work simple and fast. -- Recently, I worked on hibernate entities for my project, two days, I did on server. i.e. I changed in entities and again build and deployed on the server, it killing it all my time. So, then I created a simple JPA standalone application, and I completed my work very fast.
-Xverify:none to your eclipse.ini file.
It will cut down your Eclipse startup time considerably (50% in my case if not more). This will tell the VM not to validate all the .class files it is loading.
Another performance boost can be gained by disabling label decorations
Windows -> Preferences; General -> Appearance -> Label Decorations)
and by disabling unused capabilities on startup
Windows -> Preferences; General -> Startup and Shutdown).
You may also get additional performance by choosing a different garbage collection strategy depending on your JVM.
If you're fed up with restart cycles you could use JavaRebel from ZeroTurnaround. That will shorten your time spent on server/client restarts.
What does it help with?
- Insufficient memory allocation
- Class verification overhead
- Excessive indexes and history
- Obsolete or slow JDK
- Eclipse being out of date
- Lengthy build and redeploy times
For more details, check out this article from RebelLabs.
Disable virus scanners, or at least configure any virus scanner to not scan JAR files on read access.
Eclipse loads plug-ins lazily, and most common plug-ins, like Subclipse, don't do anything if you don't use them. They don't slow Eclipse down at all during run time, and it won't help you to disable them. In fact, Mylyn was shown to reduce Eclipse's memory footprint when used correctly.
I run Eclipse with tons of plug-ins without any performance penalty at all.
- Try disabling compiler settings that you perhaps don't need (e.g. the sub-options under "parameter is never read).
- Which version of Eclipse are you using? Older versions were known to be slow if you upgraded them over and over again, because they got their plug-ins folder inflated with duplicate plug-ins (with different versions). This is not a problem in version 3.4.
- Use working-sets. They work better than closing projects, particularly if you need to switch between sets of projects all the time.
It's not only the memory that you need to increase with the -Xmx switch, it's also the perm gen size. I think that problem was solved in Eclipse 3.4.
I also tuned vmargs and stuff. But what really sped up Eclipse on Windows is the "proper" configuration of the anti-virus software. You have to disable the on-demand scanning of packed files. jar files, and many files related to java are packed with PKZIP algorithm to spare space. Because Eclipse uses tons of java files, an anti-virus attempts to individually unpack and scan every one of them. So for Windows platform: turn off the on-demand scanning of packed files, otherwise Eclipse will be unusably slow. Please keep in mind, that disabling this unfortunately makes your system weaker against attacks, most of the malware use packers.
I experienced a considerable improvement in performance when limiting the number of open tabs (in the past I frequently had 30+ tabs open). You can let Eclipse handle this for you automatically:
Window -> Preferences -> Editors -> close editors automatically
8 open tabs is the amount before the >> sign appears, so I tend to leave it at 8.
When opening more tabs, the ones the least recently accessed will be closed.
->When all editors are dirty or pinned
If it has unsaved modifications you can prompt to save & reuse (tab will be closed, a new one will be opened in its place). Or you can open a new editor end thus increase the amount of open tabs (the unobtrusive choice).
If you want to ensure some tabs never get closed autmatically, you can pin them. This by clicking on the pin icon (the rightmost icon in the toolbar, with "pin editor" as tooltiptext).
I implemented a plug-in to configure which features to be loaded in runtime to improve the performance and reduce the conflict among different plug-ins.
You may have installed many features into your Eclipse, such as Android development tools, C/C++ development tools, PHP, SVN, Git and ClearCase plug-ins. Hence Eclipse is heavy and costs a lot of memory, and some of them are not often used.
So you could use my tool to create different runtime policies, such as one that has Android, Git and base Eclipse, another one contains C/C++, SVN and base Eclipse. Next time Eclipse would only load the specified features if you're using the policy that only has Android and Git.
You are welcome to try it and give me the feedback. :)
The name of that tool is Equinox Advanced Configurator.
I've disabled all unused options in Windows > Preferences > General and it has a huge positive impact on performance, eclipse is still slow when switching tabs, I don't want to increase memory, but it's a lot faster when scrolling. Thx for the tips.
In special cases, bad performance can be due to corrupt h2 or nwire databases. Read Five tips for speeding up Eclipse PDT and nWire for more information.
Where I work, we are dependent on a VM to run Debian. I have installed another Eclipse version on the VM for testing purpouses, but this sometimes creates conflicts if I have the other Eclipse version running. There is a shared folder which both of the Eclipse versions shares. I accidentally left the Debian Eclipse installation running in the background once and that gave me corrupt database files.
Make an effort to configure your build path. Code completion uses a lot of memory if it has to go through your whole project folder.
- Right click on your project and choose preferences.
- Choose your build path setting and remove your project folder.
- Then add only the folders where you have your source code and library code.
Not to be underrated is having a fast machine. 16-32 GB of RAM, SSD and a decent processor... and who0o0om there you go.
On Windows 8. Open Control panel. Find Windows Defender. Go to settings Exclude all folders where is your Spring/Eclipse and workspace
Thanks for the hints. These options (mentioned above) helped me a lot:
Increasing memory & regarding to my updated Java version in eclipse.ini:
-Dosgi.requiredJavaVersion=1.6 -Xms256m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512M -Xverify:none
Linux / Ubuntu:
update-alternatives --config java
The only real way to hasten Eclipse with the standard plug-ins is to give it more memory and in some cases access to a faster storage space / defragmented hard drive.
Beyond that there is not much you can do performance-wise: most standard plug-ins do not have a continuous runtime cost, even Mylyn is relatively fast.
Upgrading to the latest JVM supported on your machine may help as well.
Some people downgrade to older Eclipse versions to get better performance. It may also make sense to use Eclipse classic instead of the official releases.
There is another thing that really speeds up Eclipse on both Windows and especially Linux - putting the JVM in RAM disk.
For Windows you can use the commercial RAM disk driver from Qsoft.
For Linux use any of the methods described in numerous articles on the Internet. It is important to give additional space to the RAM disk that is 10% bigger than the size of the JVM.
Check it out. It really makes a difference.
Try these. There are two ways.
Refer this article.
Execute the command in the terminal.
to get better performance and fast response for Ubuntu.
Ramdisk is part of system memory. Ubuntu by default uses a half of physical memory (RAM) as ramdisk, and it is mounted onto
, it can be used just like normal disk space (create files and folders and manipulate them with better performance rather if they were stored on the hard disk). If ramdisk uses more than a half of RAM, data will be moved into the swap space. If ramdisk uses less, the remaining can still do what RAM’s doing.
Set upper limit of ramdisk
As is said above, ramdisk by default can use a half of RAM. If you want to change the upper limit, follow the steps below:
Edit /etc/fstab by your favourate editor:
gksudo gedit /etc/fstab
Find this line and change to make it looks like this(add this line if not exist, and change 512M to what you like.):
tmpfs /dev/shm tmpfs defaults,size=512M 0 0
Reboot or re-mount
Mount /tmp onto ramdisk
To make it easy to use, you can mount a directory into
by following commands:
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
While not directly related to Eclipse:
If you're running Windows 7 (and presumably Windows Vista), be sure to disable the file indexing of your workspace folder if your stuff is is in the default place - your home folder. Windows by default indexes everything in you home folder, and it's normally just a waste for your workspace. (Right click the workspace folder in explorer , Properties -> Advanced.)