facing some problem with java virtual machine initialization. when i am using root account i can properly work with java. but when i am a user account it returns following errors
user@host# $JAVA_HOME/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
It does not seems like a memory issue as the same command works with root account. Available memory (free -m) is more than 1200MB
Also i have tried increasing the JVM memory limits
asked Mar 27, 2012 at 14:17
9
Just be careful. You will get this message if you try to enter a command that doesn’t exist, e.g.:
/usr/bin/java -v
answered Sep 19, 2012 at 23:16
2
I had this issue today, and for me the problem was that I had allocated too much memory:
-Xmx1024M -XX:MaxPermSize=1024m
Once I reduced the PermGen space, everything worked fine:
-Xmx1024M -XX:MaxPermSize=512m
I know that doesn’t look like much of a difference, but my machine only has 4GB of RAM, and apparently that was the straw that broke the camel’s back. The Java VM was failing immediately upon every action because it was failing to allocate the memory.
answered Aug 17, 2012 at 22:44
john_sciencejohn_science
6,2576 gold badges42 silver badges59 bronze badges
Set the JVM memory:
export _JAVA_OPTIONS=-Xmx512M
answered Mar 6, 2014 at 23:46
lashgarlashgar
4,9823 gold badges35 silver badges44 bronze badges
The problem got resolved when I edited the file /etc/bashrc
with same contents as in /etc/profiles
and in /etc/profiles.d/limits.sh
and did a re-login.
answered Aug 18, 2012 at 10:20
Uday SawantUday Sawant
5,6583 gold badges32 silver badges45 bronze badges
1
Make sure the physical available memory is more then VM defined min/max memory.
answered Apr 6, 2015 at 17:39
Some users are encountering the Could Not Create The Java Virtual Machine error when trying to launch an application that is using Java. This particular issue is reported to occur with Minecraft and several other applications that are built around Java.
Error: A fatal exception has occurred. The program will exit.
What is causing the Could Not Create The Java Virtual Machine error?
We investigated this particular issue by looking at various user reports and the troubleshooting strategies that they used to resolve the same error message. Based on their conclusions, there are a couple of scenarios that will trigger this particular issue:
- Java is invoked by the wrong arguments or options – This can occur if you’re running a home-brewed application or you’re trying to open an open-source application that is known to cause system instability.
- Java global maximum heap memory is not high enough – One of the most common causes of why you can encounter this particular error is if you try to start a Java application with a maximum heap memory size larger than the one set as the System Variable.
- Java executable and/or application require administrative privileges – This might happen with applications that need admin access in order to function properly.
If you’re currently looking for a way to resolve the, Could Not Create The Java Virtual Machine error, this article will provide you with several verified troubleshooting strategies. Below you have a collection of methods that other users in a similar situation have used to get the issue resolved.
To ensure the best results, follow the methods below in the order that they are presented until you discover a method that is effective in resolving the error for your particular scenario.
Method 1: Adding the _JAVA_OPTIONS to System Variables
Most affected users have managed to get the issue resolved by creating a System Variable for Java called _JAVA_OPTIONS and setting it’s value to Xmx512M. What this essentially does is it sets the global maximum heap memory size for Java.
This will resolve any error message that occurs because the started Java application’s maximum heap memory size is larger than the one set as the System Variable. Several users encountering the same issue have reported that the issue was resolved entirely after they performed the steps below.
Here’s what you need to do to add a _JAVA_OPTIONS entry in System Variables to enlarge the global maximum heap memory size:
- Press Windows key + R to open up a Run dialog box. Then, type “sysdm.cpl” and press Enter to open up the System Properties screen.
- Inside the System Properties screen, go to the Advanced tab and click on Environment Variables.
- In the Environment Variables window, click on New (under System Variables).
- Inside the New System Variable window, set the Variable name to _JAVA_OPTIONS and the Variable value to –Xmx512M and click Ok to save the changes.
- Close the previously opened windows and restart your machine to enforce the changes.
- At the next startup, open the application that was previously showing you the Could Not Create the Java Virtual Machine error and see if is now functioning properly.
If you’re still seeing the same error message at the start of the application, try adding the Java Bin path which might be similar to “%USER PATHJavajdk1.6.0_39bin” to the environment variable as indicated in the above method and see if that works.
Method 2: Opening java.exe with admin rights
Several users struggling to resolve the same issue have managed to get the issue resolved after forcing the main Java executable (java.exe) to open with administrative privileges.
Some users reported that they were able to resolve the issue after applying this fix on both the main java executable and the executable of the application that is showing the error message.
Here’s a quick guide through the whole thing:
- Open File Explorer and navigate to the location of your java installation. We’ll need to arrive at the location of the main Java executable (java.exe). By default, you should find it in Program Files/Java/*JRE build version*/bin. The exact location will differ depending on which Java Runtime Environment you’re using.
Navigate to the location of java.exe Note: If you installed Java in a custom location, navigate the custom location instead.
- Right-click on java.exe and choose Properties. Then, go to the Compatibility tab and check the box associated with Run this program as an administrator (under Settings). Click Apply to save the changes.
go to the Compatibility tab and enable Run this program as an administrator - Right-click on the application executable (the one that is triggering the error) and repeat the same procedure: Compatibility > Run this program as an administrator > Apply.
- Run the application and see if the error message is resolved.
Method 3: Reinstalling Java
In some cases, the error is triggered because Java might not be installed properly or its installation might have been corrupted over time. Therefore, in this step, we will be reinstalling Java after uninstalling it completely. For that:
- Press Windows key + R to open up the Run prompt and type in “Appwiz.cpl”.
Type “appwiz.cpl” into the Run dialog and press Enter - Press “Enter” and the Programs and Features screen will open up.
- At the Programs and Features screen, scroll through the installed application list until you find Java.
Checking the Programs and features screen - Right-click on it and select “Uninstall” to remove it completely from the system
- First, delete the primary Java installation and later you should also remove all other Java installations such as updates and other versions.
- After uninstalling all installation, restart your computer.
- After booting up, visit this link and download the latest version of JRE.
- Check to see if the issue persists.
- If the error still persists, download and install the latest version of JDK from here.
Note: If you are already using JDK, try changing its versions or uninstalling the JRE that has been installed along with it. - Verify if the issue still exists.
Method 4: Fixing Errors With Code
There are different reasons behind this error and some of them include if you have some particular errors with your code. We will highlight some below.
- Remove Hyphen: Some users noted that the error was fixed by changing the double hyphen “–” to a single one “-” in their code. For example:
Change the code
“sony@sony-VPCEH25EN:~$ java –version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.”
To
“sony@sony-VPCEH25EN:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.” - Also, Try removing the following line from your argument
-Djava.endorsed.dirs=”C:Program FilesApache Software FoundationTomcat 8.5endorsed” - Open your eclipse.ini file and make sure that you add the “-vm” entry above the vm args otherwise, JVM V6 will be selected in env vars.
- If on Ubuntu, you should know that Java 8 is the only version that is supported. Therefore, using the third method. Uninstall Java, and install the previous version.
Method 5: Editing Eclipse.ini File
We can also tweak things inside the Eclipes.ini File to get rid of this issue. There might be a couple of issues with its configuration that need to be addressed therefore, we have divided it into separate issues. Follow the one which suits your scenario the best.
Lowering Memory Use
- Open the Eclipse.ini file inside the Eclipse folder with notepad.
- Find the line similar to “-Xmx256m” (It might be -Xmx1024m or -Xmx 512m).
- Now change the default value to a more reasonable figure depending upon the RAM installed on your computer and add the version number to it as well. For Example:
-Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
- Also, try removing the “256m” value from the “-launcher.XXMaxPermSize” line.
- Check to see if the issue persists.
Tinkering Around
- Try to remove the following lines from your file.
-vm P:Programsjdk1.6bin
- Also, change the following lines.
set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
- Also, try adding the following line above “-vmargs!” line.
-vm C:Program Files (x86)Javajre6binjavaw.exe
- Also, point to JVM.dll using the following line.
-vm C:Program FilesJavajre7binclientjvm.dll
- Open the Eclipse file and replace “-vmargs” with the path of javaw.exe. For Example:
-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:Program FilesJavajdk1.7.0_07binjavaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685
- Also, you can place the following line at the end and check if that works.
-vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
- Furthermore, try removing the following lines from the eclipse.ini and check if that works.
-XX:+UseStringDeduplication -XX:+UseG1GC
- You can also try removing the eclipse.ini file if the issue still persists as that has reportedly fixed the issue for some but remember to back it up first just in case you need it. Also, try closing all the power-hungry applications before starting Java to make sure proper resources are available.
Checking for JDK Corruption
- Press “Windows” + “R” to open the Run prompt and type in “cmd”.
- Type in the following command and check if that gives an error.
c:> java -version
- If it does give an error, reinstall the JDK completely.
Kevin Arrows
Kevin is a dynamic and self-motivated information technology professional, with a Thorough knowledge of all facets pertaining to network infrastructure design, implementation and administration. Superior record of delivering simultaneous large-scale mission critical projects on time and under budget.
-
afndeveloper
- Posts: 5
- Joined: 2016/02/10 15:15:56
Java JDK/JRE installation error
Hello,
I installed Tomcat 7 via Easyapache 3 and I tried to install Java JDK/JRE individually. Then I enter java -version to command line, but I encounter a error:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
I have Centos 6.7, 64 bit, 2gb ram server.
What should I do?
Thank you
Kind regards
-
drk
- Posts: 405
- Joined: 2014/01/30 20:38:28
Re: Java JDK/JRE installation error
Post
by drk » 2016/02/11 05:01:21
If you really only have 2GB of ram then the default JVM memory usage is too high. What to do? At 2GB you’ll want to throw more RAM at it.
-
TrevorH
- Site Admin
- Posts: 32529
- Joined: 2009/09/24 10:40:56
- Location: Brighton, UK
Re: Java JDK/JRE installation error
Post
by TrevorH » 2016/02/11 07:56:28
See if using java -Xmx256M -version works.
-
afndeveloper
- Posts: 5
- Joined: 2016/02/10 15:15:56
Re: Java JDK/JRE installation error
Post
by afndeveloper » 2016/02/11 11:22:39
drk wrote:If you really only have 2GB of ram then the default JVM memory usage is too high. What to do? At 2GB you’ll want to throw more RAM at it.
I want to call Java apps from my PHP script. What minimum ram to run Java. Also Tomcat is running fairly and it has no memory problem.
TrevorH wrote:See if using java -Xmx256M -version works.
It gives this error:
Error occurred during initialization of VM
Could not reserve enough space for 262144KB object heap
As I increase heap size, it is getting to need more size.
-
TrevorH
- Site Admin
- Posts: 32529
- Joined: 2009/09/24 10:40:56
- Location: Brighton, UK
Re: Java JDK/JRE installation error
Post
by TrevorH » 2016/02/11 11:58:15
What is the output from the following commands:
df -m
free -m
-
afndeveloper
- Posts: 5
- Joined: 2016/02/10 15:15:56
Re: Java JDK/JRE installation error
Post
by afndeveloper » 2016/02/11 12:20:01
TrevorH wrote:What is the output from the following commands:
df -m
free -m
Code: Select all
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/vzfs 61440 7213 54228 12% /
none 1024 1 1024 1% /dev
none 1024 0 1024 0% /dev/shm
Code: Select all
total used free shared buffers cached
Mem: 2048 1072 975 6 0 390
-/+ buffers/cache: 681 1366
Swap: 0 0 0
-
TrevorH
- Site Admin
- Posts: 32529
- Joined: 2009/09/24 10:40:56
- Location: Brighton, UK
Re: Java JDK/JRE installation error
Post
by TrevorH » 2016/02/11 13:21:58
I think you need to ask your hosting provider. You appear to be on an OpenVZ container not a real CentOS system so it’s very possible that whatever the problem is, it has to do with openvz.
-
afndeveloper
- Posts: 5
- Joined: 2016/02/10 15:15:56
Re: Java JDK/JRE installation error
Post
by afndeveloper » 2016/02/11 14:52:45
TrevorH wrote:I think you need to ask your hosting provider. You appear to be on an OpenVZ container not a real CentOS system so it’s very possible that whatever the problem is, it has to do with openvz.
I will ask my provider, but Tomcat 7 on my server is running good. Besides, I installed PHP/Java Bridge. And then, PHP/Java Bridge is running, but sometimes it is not running unclearly. I guess the problem related to memory. What do I need to do?
Thank you
-
TrevorH
- Site Admin
- Posts: 32529
- Joined: 2009/09/24 10:40:56
- Location: Brighton, UK
Re: Java JDK/JRE installation error
Post
by TrevorH » 2016/02/11 15:02:35
OpenVZ containers are not CentOS and their resource allocations are controlled by the host. Perhaps they don’t let java allocate as much memory as it would like to (64 bit java uses a 2GB heap by default if I recall correctly).
If Java is installed correctly on your computer, you should never have any problem running Java-based applications or games.
However, if there’s something wrong with your setup, you may see the error, “Could not create the Java Virtual Machine.” This error means that the Java installation on your computer can’t launch the virtual sandbox (virtual machine) within which it would typically launch the Java app.
In this guide, you’ll learn a few fixes that can eliminate this error, starting with the most common fix to the less likely solution.
Make Sure Java Is Installed Correctly
Before you can troubleshoot any Java errors, you’ll need to ensure that you’ve installed Java correctly.
To do this, open the command prompt by selecting the Start menu, typing cmd, and selecting the Command Prompt app.
In the command prompt window, type java – version and press Enter.
If Java is installed correctly, you should see the version of Java, the SE Runtime Environment, and the Client VM build.
If you don’t have the latest version, you’ll want to make sure to install it. If this looks good, you’re ready to move on to the next troubleshooting step.
Expand Available System Memory for Java
The most common cause for the “Could not create the Java Virtual Machine” error is that Java doesn’t have enough available memory on your system to launch the VM client.
Java is initially set by default to use an initial and maximum “heap size.” So, if you’re running any application that goes beyond the maximum size, it will trigger an error.
You can adjust this by changing the amount of system memory Java can use on your system.
1. Select the Start menu and type environmental variables. Select Edit the System Environment Variables.
2. In the System Properties window, select Environment Variables.
3. Under the System Variables pane, select New.
4. Set the Variable name as _JAVA_OPTIONS and set the Variable value as -Xmx512M.
5. Select OK, and then select OK again.
This adjusts the allowable memory for Java to 512 Mb. The setting change takes effect immediately, so relaunch your Java app and see if the error still appears. If it does, repeat the process above but increase the memory to 1024 Mb by setting the value to -Xmx1024M instead.
Run Java As Administrator
Sometimes virtual machine errors can be caused by the lack of appropriate admin rights on your Windows PC. To see if this is the issue, set up the Java app on your PC to run as the system administrator.
1. Select the Start button and type Java. Select the right arrow next to it and select Open file location.
2. Right-click the Java executable file and select Properties.
3. Select the Compatibility tab and enable the Run the program as an administrator checkbox.
Select OK. Now, the next time Java runs, it will have full administrator rights.
Uninstall and Reinstall Java
Finally, if all else has failed, you may just have a faulty installation of Java.
1. Select the Start menu, type add or remove programs, and select Add or remove programs system settings.
2. In Apps & Features, scroll down to Java, select it, and select Uninstall.
3. Select Yes to confirm, and once Java is fully uninstalled, restart Windows.
4. Download the latest version of Java for your system. Make sure you choose 32 bit if your system is 32 bit or 64 bit if your PC is 64 bit. If you’re not sure which system you have, make sure to check your system type first.
5. Double click the installation file after downloading. Select the Install button to launch the Java installation process.
Walk through the rest of the wizard, and once the Java installation is complete, restart your Windows system.
Hopefully, you could clear the error in the first few steps and didn’t have to reinstall Java. However, reinstalling Java is a quick enough process and should get your Java apps running smoothly again.
Were there any other fixes you discovered that also worked with this error? Share them with us in the comments section below!
Asked
9 years, 11 months ago
Viewed
7k times
[root@jony source]# sh run.sh
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Getting this error.
What have I done?
Downloaded the right version of Jre/jdk.
rpm -ivh jdk-7u15-linux-x64.rpm
rpm -ivh lolo.rpm (Its jre-7u13-linux-x64 rpm file)
cd source
sh run.sh
All logs of what i’ve done:
[root@jony ~]# rpm -ivh lolo.rpm
Preparing... ########################################### [100%]
1:jre ########################################### [100%]
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/charsets.pack
localedata.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/ext/localedata.pack
[root@jony ~]# rpm -ivh jdk-7u15-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/charsets.pack
tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/lib/tools.pack
localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/ext/localedata.p ack
[root@jony ~]# cd source
[root@jony source]# sh run.sh
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@jony source]# rpm -qa | grep -i jre
jre-1.7.0_13-fcs.x86_64
jre-1.7.0_15-fcs.x86_64
[root@jony source]# rpm -qa |grep -i jdk
jdk-1.7.0_11-fcs.x86_64
jdk-1.7.0_15-fcs.x86_64
[root@jony source]# rpm -e daniel.rpm
error: package daniel.rpm is not installed
[root@jony source]# rpm -e jre
error: "jre" specifies multiple packages:
jre-1.7.0_13-fcs.x86_64
jre-1.7.0_15-fcs.x86_64
[root@jony source]# rpm -e jre.1.7.0_15.i586
error: package jre.1.7.0_15.i586 is not installed
[root@jony source]# rpm -e lolo
error: package lolo is not installed
[root@jony source]# jre -e daniel
-bash: jre: command not found
[root@jony source]# rpm -e jre daniel
error: "jre" specifies multiple packages:
jre-1.7.0_13-fcs.x86_64
jre-1.7.0_15-fcs.x86_64
error: package daniel is not installed
[root@jony source]# cd root
-bash: cd: root: No such file or directory
[root@jony source]# cd
[root@jony ~]# rpm -e jre.1.7.0_15.i586
error: package jre.1.7.0_15.i586 is not installed
[root@jony ~]# rpm -e daniel
error: package daniel is not installed
[root@jony ~]# rpm -qa | grep -i jre/jdk
[root@jony ~]# rpm -ivh lolo.rpm
Preparing... ########################################### [100%]
package jre-1.7.0_15-fcs.x86_64 is already installed
[root@jony ~]# cd source
[root@jony source]# sh run.sh
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@jony source]# cd
[root@jony ~]# rpm -qa | grep -i jre/jdk
[root@jony ~]# rpm -qa | grep -i daniel
[root@jony ~]# rpm -qa | grep -i lolo
[root@jony ~]# rpm -ivh lolo.rpm
Preparing... ########################################### [100%]
package jre-1.7.0_15-fcs.x86_64 is already installed
[root@jony ~]# rpm -e jdk-1.7.0_11-fcs
[root@jony ~]#
[root@jony ~]# rpm -e jdk-1.7.0_15-fcs
[root@jony ~]# rpm -qa | grep -i jdk
[root@jony ~]# rpm -qa | grep -i jre
jre-1.7.0_13-fcs.x86_64
jre-1.7.0_15-fcs.x86_64
[root@jony ~]# rpm -e jre-1.7.0_13-fcs
[root@jony ~]# rpm -e jre-1.7.0_15-fcs
[root@jony ~]# rpm -ivh lolo.rpm
Preparing... ########################################### [100%]
1:jre ########################################### [100%]
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/charsets.pack
localedata.jar...
Error: Could not open input file: /usr/java/jre1.7.0_15/lib/ext/localedata.pack
[root@jony ~]# rpm -ivh jdk-7u15-linux-x64.rpmjdk-7u15-linux-x64.rpm
error: open of jdk-7u15-linux-x64.rpmjdk-7u15-linux-x64.rpm failed: No such file or directory
[root@jony ~]# rpm -ivh jdk-7u15-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/charsets.pack
tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/lib/tools.pack
localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_15/jre/lib/ext/localedata.p ack
[root@jony ~]# cd source
[root@jony source]# sh run.sh
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@jony source]# ^C
[root@jony source]#
What did I do wrong?
Running on centOS 6.x
asked Feb 22, 2013 at 20:35
2
Try downloading the JDK in «tar.gz».
Extract the content of your tar.gz to a folder in which you want to have your java installation, example:
tar xvf myJava7.tar.gz
Then, set your JAVA_HOME variable and update the references, to update your references, please do the following:
sudo update-alternatives --install "/usr/bin/javac" "javac" "/path/where/i/extracted/usr/lib/jvm/java7/bin/javac" 1
sudo update-alternatives --config javac
It is better when you use your tar files, you can specify and make your installation of Java or any other component more flexible.
Best regards.
answered Feb 22, 2013 at 21:03
1
You’re trying to allocate more memory to the Java VM’s heap than you have available. Look at the shell script and see what the arguments are that are being passed to Java.
The arguments to look for are:
- -Xms — minimum
- -Xmx — maximum
answered Feb 22, 2013 at 22:37
You should run the JVM with:
-XX:MaxHeapSize=256m -Xmx512m
You can change both numbers at will, but do make sure that the heap size is large.
Gaff
18.3k15 gold badges56 silver badges68 bronze badges
answered Nov 14, 2013 at 4:24
MariusMatutiaeMariusMatutiae
46.4k12 gold badges79 silver badges128 bronze badges
[root@centos57 ~]# echo $JAVA_HOME
/java/jdk1.7.0_11
Also run:
java -version
to see what’s installed.
A similar output is what you should see — if not, it isn’t recognizing the JDK as being referenced. Also if the _13
is shown before the _15
you need to move the order.
If all of that fails run:
yum remove java
and reinstall.
Here’s a link that might help, I use it: https://www.if-not-true-then-false.com/2010/install-sun-oracle-java-jdk-jre-7-on-fedora-centos-red-hat-rhel/
Gaff
18.3k15 gold badges56 silver badges68 bronze badges
answered Feb 22, 2013 at 22:05
Некоторые пользователи сталкиваются с ошибкой «Не удалось создать виртуальную машину Java» при попытке запустить приложение, использующее Java. Сообщается, что эта конкретная проблема возникает с Minecraft и несколькими другими приложениями, построенными на Java.
Что вызывает ошибку «Не удалось создать виртуальную машину Java»?
Мы исследовали эту конкретную проблему, изучив различные отчеты пользователей и стратегии устранения неполадок, которые они использовали для устранения одного и того же сообщения об ошибке. Основываясь на их выводах, существует несколько сценариев, которые могут вызвать данную проблему:
- Java вызывается из-за неправильных аргументов или опций. Это может произойти, если вы запускаете самодельное приложение или пытаетесь открыть приложение с открытым исходным кодом, которое, как известно, вызывает нестабильность системы.
- Глобальный максимальный размер кучи Java недостаточно высок. Одна из наиболее частых причин, по которой вы можете столкнуться с этой конкретной ошибкой, — это попытка запустить приложение Java с максимальным размером памяти кучи, превышающим тот, который задан как системная переменная .
- Исполняемый файл Java и / или приложение требуют прав администратора — это может происходить с приложениями, которым для правильной работы требуется доступ администратора.
Если вы в настоящее время ищете способ устранить ошибку « Не удалось создать виртуальную машину Java» , эта статья предоставит вам несколько проверенных стратегий устранения неполадок. Ниже приведен набор методов, которые другие пользователи в аналогичной ситуации использовали для решения проблемы.
Чтобы обеспечить наилучшие результаты, следуйте приведенным ниже методам в том порядке, в котором они представлены, пока не найдете метод, эффективный для устранения ошибки для вашего конкретного сценария.
Метод 1: добавление _JAVA_OPTIONS в системные переменные
Наиболее затронутым пользователям удалось решить проблему, создав системную переменную для Java с именем _JAVA_OPTIONS и установив для нее значение Xmx512M . По сути, это устанавливает глобальный максимальный размер кучи для Java.
Это устранит любое сообщение об ошибке, возникающее из-за того, что максимальный размер кучи запущенного приложения Java больше, чем тот, который задан как системная переменная. Несколько пользователей, столкнувшихся с той же проблемой, сообщили, что проблема была полностью решена после того, как они выполнили указанные ниже действия.
Вот что вам нужно сделать, чтобы добавить запись _JAVA_OPTION S в системные переменные для увеличения глобального максимального размера кучи:
- Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите « sysdm.cpl » и нажмите Enter, чтобы открыть экран « Свойства системы» .
- На экране « Свойства системы» перейдите на вкладку « Дополнительно » и нажмите « Переменные среды».
- В окне « Переменные среды» нажмите « Создать» (в разделе « Системные переменные» ).
- В окне « Новая системная переменная» установите для имени переменной значение _JAVA_OPTIONS и значение переменной — Xmx512M и нажмите « ОК», чтобы сохранить изменения.
- Закройте ранее открытые окна и перезагрузите компьютер, чтобы изменения вступили в силу.
- При следующем запуске откройте приложение, которое ранее показывало ошибку « Не удалось создать виртуальную машину Java», и посмотрите, правильно ли работает.
Если вы все еще видите то же сообщение об ошибке в начале приложения, попробуйте добавить путь Java Bin, который может быть похож на «% USER PATH Java jdk1.6.0_39 bin», к переменной среды, как указано в описанный выше метод и посмотрите, работает ли он.
Метод 2: открытие java.exe с правами администратора
Нескольким пользователям, пытающимся решить одну и ту же проблему, удалось решить проблему после принудительного открытия основного исполняемого файла Java (java.exe) с правами администратора.
Некоторые пользователи сообщили, что им удалось решить проблему после применения этого исправления как к основному исполняемому файлу Java, так и к исполняемому файлу приложения, в котором отображается сообщение об ошибке.
Вот краткое руководство по всему этому:
- Откройте проводник и перейдите к месту установки Java. Нам нужно будет добраться до места расположения основного исполняемого файла Java ( java.exe ). По умолчанию вы должны найти его в Program Files / Java / * JRE build version * / bin. Точное расположение будет отличаться в зависимости от того, какую среду выполнения Java вы используете.
Примечание. Если вы установили Java в произвольном месте, перейдите в это место.
- Щелкните правой кнопкой мыши java.exe и выберите « Свойства» . Затем перейдите на вкладку « Совместимость » и установите флажок « Запускать эту программу от имени администратора» (в разделе «Настройки»). Нажмите Применить, чтобы сохранить изменения.
- Щелкните правой кнопкой мыши исполняемый файл приложения (тот, который вызывает ошибку) и повторите ту же процедуру: Совместимость> Запустить эту программу от имени администратора> Применить .
- Запустите приложение и посмотрите, исчезнет ли сообщение об ошибке.
Метод 3: переустановка Java
В некоторых случаях ошибка возникает из-за того, что Java могла быть установлена неправильно или ее установка могла быть повреждена с течением времени. Следовательно, на этом этапе мы переустановим Java после ее полного удаления. Для этого:
- Нажмите клавишу Windows + R, чтобы открыть окно «Выполнить», и введите «Appwiz.cpl».
- Нажмите «Enter», и откроется экран «Программы и компоненты».
- На экране « Программы и компоненты» прокрутите список установленных приложений, пока не найдете Java.
- Щелкните его правой кнопкой мыши и выберите «Удалить», чтобы полностью удалить его из системы.
- Сначала удалите основную установку Java, а позже вы также должны удалить все другие установки Java, такие как обновления и другие версии.
- После удаления всей установки перезагрузите компьютер.
- После загрузки перейдите по этой ссылке и загрузите последнюю версию JRE.
- Проверьте, сохраняется ли проблема.
- Если ошибка не исчезла, загрузите и установите последнюю версию JDK отсюда.
Примечание. Если вы уже используете JDK, попробуйте изменить его версию или удалить JRE, установленную вместе с ним.
- Убедитесь, что проблема все еще существует.
Метод 4: исправление ошибок с помощью кода
У этой ошибки есть разные причины, и некоторые из них включают в себя определенные ошибки в вашем коде. Мы выделим некоторые из них ниже.
- Удаление дефиса : некоторые пользователи отметили, что ошибка была исправлена путем замены двойного дефиса «-» на одинарный «-» в их коде. Например:
Измените код
«Sony @ sony-VPCEH25EN: ~ $ java –версия
Подобрал JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar
Нераспознанный вариант: –версия
Ошибка: не удалось создать виртуальную машину Java.
Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.»
Чтобы
«Sony @ sony-VPCEH25EN: ~ $ java -version
Подобрал JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar
Нераспознанный вариант: –версия
Ошибка: не удалось создать виртуальную машину Java.
Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.»
- Кроме того, попробуйте удалить следующую строку из своего аргумента
-Djava.endorsed.dirs = «C: Program Files Apache Software Foundation Tomcat 8.5 endorsed»
- Откройте файл eclipse.ini и убедитесь, что вы добавили запись «-vm» над аргументами vm, иначе JVM V6 будет выбран в переменных env.
- Если вы используете Ubuntu, вы должны знать, что Java 8 — единственная поддерживаемая версия. Поэтому пользуемся третьим способом. Удалите Java и установите предыдущую версию.
Метод 5: редактирование файла Eclipse.ini
We can also tweak things inside the Eclipes.ini File to get rid of this issue. There might be a couple of issues with its configuration that need to be addressed therefore, we have divided it into separate issues. Follow the one which suits your scenario the best.
Lowering Memory Use
- Open the Eclipse.ini file inside the Eclipse folder with notepad.
- Find the line similar to “-Xmx256m” (It might be -Xmx1024m or -Xmx 512m).
- Now change the default value to a more reasonable figure depending upon the RAM installed on your computer and add the version number to it as well. For Example:
-Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
- Also, try removing the “256m” value from the “-launcher.XXMaxPermSize” line.
- Check to see if the issue persists.
Tinkering Around
- Try to remove the following lines from your file.
-vm P:Programsjdk1.6bin
- Also, change the following lines.
set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
- Also, try adding the following line above “-vmargs!” line.
-vm C:Program Files (x86)Javajre6binjavaw.exe
- Also, point to JVM.dll using the following line.
-vm C:Program FilesJavajre7binclientjvm.dll
- Open the Eclipse file and replace “-vmargs” with the path of javaw.exe. For Example:
-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:Program FilesJavajdk1.7.0_07binjavaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685
- Also, you can place the following line at the end and check if that works.
-vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
- Furthermore, try removing the following lines from the eclipse.ini and check if that works.
-XX:+UseStringDeduplication -XX:+UseG1GC
- Вы также можете попробовать удалить файл eclipse.ini, если проблема не устранена, поскольку, как сообщается, проблема была устранена для некоторых, но не забудьте сначала создать резервную копию на случай, если она вам понадобится. Кроме того, попробуйте закрыть все энергоемкие приложения перед запуском Java, чтобы убедиться в доступности необходимых ресурсов.
Проверка на повреждение JDK
- Нажмите «Windows» + «R», чтобы открыть окно «Выполнить», и введите «cmd».
- Введите следующую команду и проверьте, выдает ли она ошибку.
c: > java -версия
- Если выдает ошибку, полностью переустановите JDK.