When i create a new project in "Eclipse" IDE.Suddenly it shows an alert message "Out of memory error".I cannot identify the reason. If any one know the reason please tell me.
Try to start eclipse with follow paramenters:
eclipse.exe -vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m
Or justify these parameters for your requirements
- Go to your Eclipse setup folder
If you are running Eclipse on Mac OS X then
Right click on
eclipse.app
iconClick on
Show Package Contents
Open
eclipse.ini
fileChange below parameters
-Xms512m -Xmx3000m (Hoping your developer box has >4GB of memory)
Add below parameters
-XX:PermSize=256m -XX:MaxPermSize=512m
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=256m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
–
Fasta The most obvious explanation is that you are truly out of memory. In which case starting Eclipse with a bigger heap should help
-vmargs -Xmx256M
varying the 256M to see what works for you.
I would not expect to see this problem if you have just a few simple projects. If you are using additional plugins then conceivably the amount of heap you need may need to be increased.
Not sure if relevant to your problem, but I just had a similar problem with a Swing project using OpenJDK 7.
After several cycles of starting (the Run
button) and closing ('X'
/ Alt+F4
) my application, I got this error in the console:
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:691)
at sun.awt.AWTAutoShutdown.activateBlockerThread(AWTAutoShutdown.java:334)
at sun.awt.AWTAutoShutdown.notifyPeerMapUpdated(AWTAutoShutdown.java:215)
at sun.awt.AWTAutoShutdown.registerPeer(AWTAutoShutdown.java:348)
at sun.awt.SunToolkit.targetCreatedPeer(SunToolkit.java:313)
at sun.awt.X11.XToolkit.createFrame(XToolkit.java:410)
at java.awt.Frame.addNotify(Frame.java:477)
at java.awt.Window.show(Window.java:1031)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1014)
at tool.BAT.main(BAT.java:11)
And sometimes, I got another sort of error:
Error occurred during initialization of VM
java.lang.OutOfMemoryError: unable to create new native thread
and then, if I tried to run it once more, Java crashed:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000000000000, pid=30388, tid=139776854689536
#
# JRE version: 7.0_07-b30
# Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C 0x0000000000000000
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/mcmlxxxvi/workspace/bat/hs_err_pid30388.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
#
top
revealed the cause of the problem (notice virtual memory usage):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30619 mcmlxxxv 20 0 3271m 390m 45m S 2.0 13.0 0:38.88 java
30667 mcmlxxxv 20 0 2172m 35m 12m S 0.3 1.2 0:01.00 java
30688 mcmlxxxv 20 0 2172m 35m 12m S 0.3 1.2 0:00.96 java
30710 mcmlxxxv 20 0 2172m 35m 12m S 0.0 1.2 0:00.97 java
These were all instances of my application, which had not been closed. Still not sure why so much virtual memory was allocated per instance - probably there's some option for that. (I have 3GiB of physical memory, by the way).
Here's my main() method:
public static void main(String[] args) {
JFrame frame = new JFrame();
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
I saw the commented line in a tutorial and specifically disabled it to see what would happen. What happened was that that it defaulted to HIDE_ON_CLOSE
, which did not close and dispose of the frame.
Setting setDefaultCloseOperation
to EXIT_ON_CLOSE was the solution for me. Interested to see input from more knowledgeable people on this, though.
- Open Your eclipse.ini file
- XXMaxPermSize will be 256m.
- Change the value to 512m.
- Restart your eclipse.
- Now you will not see any memory issues in Eclipse.
In Brief See below:
Before
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
After:
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
For everyone (like me) who ends up at the bottom without fixing it...
My Eclipse ran out of memeory every time I tried to save a specific file.
Eclipse has a bug where it is unable to handle formatting a comment between a method type and a method name, like the code given below. The fix is to move the comment up or down
public String
// Never put a comment here, Eclipse will run out of memory
getName() {
return "name";
}
You have to use setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
© 2022 - 2024 — McMap. All rights reserved.