今天准备使用eclipse写python脚本,刚启动eclipse,“啪”弹出一个messagebox,报错“could not create the java virtual machine ”,晕了,前段时间还用它写过程序,怎么突然出这种错误,打开任务管理器一看,因为开了几个VS2005,内存已经被消耗得差不多了,本来2048M的内存,现在只剩下700多M了,难道是内存不够,java虚拟机创建失败?
打开到eclipse安装文件夹下的eclipse.ini文件,内容如下:
-vmargs
-Xms512M
-Xmx1024M
-XX:PermSize=64M
-XX:MaxPermSize=128M
暂时不知道什么意思,但是知道是控制eclipse内存消耗的,修改如下:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
再次启动eclipse,可以了,惊叹,这些参数分别是什么意思呢?google一下:
-vmargs是表示下面是设置JVM(java虚拟机)的参数,也就是说下面都是java虚拟机的参数,对于JVM来说,内存分为堆内存和非堆内存,注意这里的堆不是c/c++里面的堆的概念,因为jvm自己管理内存,所谓堆上的内存就是jvm可以分配给java应用程序使用的内存,由-Xms和-Xmx这两个参数限定,而非堆内存则是JVM自己使用的,由-XX:PermSize和-XX:MaxPermSize这两个参数来限定。对于堆内存来讲,JVM根据剩余的堆内存的多少调整整个堆内存的大小,调整范围就是-Xms(最小)和-Xmx(最大)指定的范围,-XX:PermSize和-XX:MaxPermSize也是同样的道理,如果你不想JVM来动态调整的话,可以把最大和最小值设置相等,默认最小值是物理内存的1/64,最大值是物理内存的1/4,所以这个最大值就受到物理内存的限制(当然还会收到操作系统的限制)。
经过实验发现,如果-Xms的值比-Xmx设置的大则启动会失败;而如果-Xmx和-XX:MaxPermSize设置的值的和比可用的物理内存还大,启动也会失败,我的第一个设置,两者的和超过了1G,而当时可用内存才700M,所以启动会失败,JVM在启动时会检测参数和实际可用内存。
分享到:
相关推荐
根据题目提供的部分`eclipse.ini`文件内容,我们可以看到一些关键的JVM参数设置,这些设置对于解决“could not create the java virtual machine”问题至关重要。下面是具体的解决方案: 1. **调整内存参数**: - ...
此时,Eclipse 应该能够正常启动而不再出现 “failed to create the java virtual machine” 的错误提示。 通过上述步骤,我们不仅可以解决 Eclipse 启动失败的问题,还能进一步优化 Eclipse 的性能,使其更适应...
当用户启动 Eclipse 时,可能会出现 "Failed to create the Java virtual machine" 的错误信息,导致 Eclipse 无法启动。该错误信息通常是由于 Java 虚拟机(JVM)初始化失败引起的。 java 虚拟机初始化失败! ...
解决Eclipse启动出错:Failed to create the Java Virtual Machine Eclipse是一款功能强大的集成开发环境(IDE),广泛应用于Java、Python、C++等语言的开发中。但是在使用Eclipse时,用户可能会遇到各种错误,例如...
假如你机器的内存不大,改大该参数的值,会导致MemoryAnalyzer启动时,报错:Failed to create the Java Virtual Machine。 2.当你导出的dump文件的大小大于你配置的1024m(说明1中,提到的配置:-vmargs– Xmx1024m...
### Java性能优化关键知识点 #### 一、Java性能调优概览 在现代软件开发中,Java作为一种广泛使用的编程语言,其性能优化是确保应用程序高效运行的关键。性能调优不仅涉及代码层面的优化,还包括对Java虚拟机(JVM)...
could not create the java virtual machine 解决办法
自己用的解决 "The Network Adapter could not establish the connection" 的连接oracle问题。网上查的一些片段资料。主要是用自己去公司用的。
然后,在命令行中,你可以使用以下命令启动Systrace: ```bash python -m systrace -o trace.html <categories> ``` 这里的`<categories>`是指你想要追踪的系统类别,如`gfx`, `input`, `view`, `cpu`, `dalvik`等...
"解决 MyEclipse 8.5 中的 “Could not find the main class” 问题" "Could not find the main class" 是一个常见的错误提示,出现于 MyEclipse 8.5 中使用外带的 Tomcat 时,因 JDK 版本问题所引起。下面将详细...
标题中的“Virtual Machine Network Driver for Microsoft Device Emulator”是指用于微软设备模拟器的虚拟机网络驱动程序,这是一个关键组件,允许在虚拟环境中模拟真实的网络环境,以便开发者可以在虚拟机上测试和...
标题 "Javanew_historys.zip" 提供的信息表明,这个压缩包可能包含了与Java虚拟机(JVM)相关的错误解决方案,特别是"could not create the java virtual machine" 这个问题。这个问题通常发生在尝试运行Java应用...
"could not reserve enough space for object heap" 是一个常见的Java虚拟机(JVM)启动时遇到的问题,这通常意味着JVM在尝试分配堆内存时遇到了不足的空间。这个问题涉及到Java内存管理和虚拟机配置,对于理解Java...
如果在启动Java程序时出现了“Could not find the main class, program will exit”的错误消息,这意味着JVM无法找到带有正确`main`方法的类。这可能是由于多种原因造成的,下面将详细介绍这些可能的原因以及相应的...
NULL 博文链接:https://jaychang.iteye.com/blog/980159
NULL 博文链接:https://lbay.iteye.com/blog/784874
在IT领域,尤其是在Java编程中,遇到“Can not find the main class. Program will exit.”这一错误信息是非常常见的问题。这通常意味着编译器或运行环境无法识别并定位到程序的主类,即包含main方法的类,从而导致...
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 解决办法:在url后面拼接?serverTimezone=UTC 连接成功后数据库不显示表 通过设置解决: scheme选择当前...