jvm-一个奇怪的JVM初始化问题

问题描述

一个奇怪的JVM初始化问题

环境: window7 32位系统, 内存4G, 可用内存3.4G;
使用jdk7启动jboss-eap-6.3报错如下:
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.

jboss内存配置为-Xms1G -Xmx1G -XX:MaxPermSize=256M -Djava.net.preferIPv4Stack=true;

启动jboss时操作系统空闲内存在2G以上。
同样内存配置的tomcat可以正常启动, jboss改用jdk6也可以正常启动。

求大神指点迷津!

解决方案

有可能是和你的计算机的版本之间的问题。

解决方案二:

jdk7分别使用了jdk1.7.0_55 ,jdk1.7.0_67, jdk1.7.0_80三个版本, 其中jdk1.7.0_55是官网上最老的jdk7, jdk1.7.0_80是官网上最新的jdk7版本。

解决方案三:

一个好奇怪的问题
一个奇怪的问题

时间: 2024-09-17 03:47:05

jvm-一个奇怪的JVM初始化问题的相关文章

憋不住的心里的一个想法,JVM的BYTECODE是完全平台无关的么?

围绕在心里很长时间的一个问题:JVM的BYTECODE真的是完全平台无关的么? 就算JVM里指令集,寄存器,堆栈一应俱全. 算法,数据结构都可以完全实现, 但如果JAVA要读写文件,那它会不会被JVM在解释时,翻译成一个具体的OS的API或是SYSTEM CALL? 因为操作系统在内核态工作,而JVM只是一个软件,必须工作在用户态呀. 那BYTECODE是全被JVM直接转成机器码执行了? 带着这个问题,上天入地,都没有完全冰释心中疑问. 以下几个贴子争论得挺多的.但都没有一个定论. 谁来解答?

从Classic JVM迁移到J9 JVM的参考依据和技术指导

从 IBM i 7.1 开始,IBM Classic Java Virtual http://www.aliyun.com/zixun/aggregation/39569.html">Machine 不再被 IBM i 支持了.IBM Technology for Java Virtual Machine(又名 IBM J9 JVM)成为了唯一被支持的 JVM.这篇文章旨在阐述这两种 JVM 的区别,同时帮助用户和开发人员把他们的应用程序从 Classic JVM 移植到 J9 JVM.在

理解JVM(2)- JVM体系结构

前一篇我们简单了解了JVM是什么,现在我们将从整体上认识一下JVM由哪些部分组成 我们看一下JVM的架构: JVM字节码文件(JVM Languages Classes ) 包括但不仅限于Java语言编译而成的Class文件.实际上,Java虚拟机不和包括Java在内的任何编程语言绑定,它只与"Class文件"这种特定的二进制文件格式关联,只要特定语言的编译器能将代码编译成Class文件,虚拟机并不关心Class的来源是何种语言,如下图所示 类加载器(Class Loader) Cla

jvm-用Java写的JVM,在没有JVM的机器上怎么运行。

问题描述 用Java写的JVM,在没有JVM的机器上怎么运行. 我们知道,通常来说,一种语言的编译器和连接器的编写是无关乎这种语言本身的,因为最终只要这种编译器或连接器是以机器能读懂得二进制的形式存在的就行,机器便能运行它. 同样,我们也知道用Java编写的程序不是直接和硬件打交道,甚至不是和操作系统打交道,而是和JVM打交道,只有在装有JVM的机器上才能运行.那么此刻问题来了,本身是用Java写的JVM,他们是如何在没有JVM的机器上运行的呢?这就形成了一个悖论了.本人初涉Java,还望告诉能

一步步优化JVM二:JVM部署模型和JVM Runtime

选择JVM部署模型    JVM部署模型的选择总体来说就是决定应用是部署在单个JVM实例还是多个JVM实例上(这里简单举例说明一下JVM实例,比如:我们常用eclipse开发,启动一个eclipse就是启动了一个JVM实例,然后在JVM中运行一个main程序,又会启动一个JVM实例,两个JVM实例是隔离开的).哪一个是最适合你的应用的呢?这个是前面说到系统需求和潜在规则来决定的.比如说:假如你要部署您的应用在一个64位的机器上面,可以支持更大Java堆,如果应用依赖第三方的本地代码组件,而且这个

SSH框架,action的scope设置为prototype一个奇怪问题,求解

问题描述 我用SSH框架做权限管理时遇到一个奇怪问题:用户表:T_USER角色表:T_ROLE菜单表:T_RESOURCE角色用户表:T_USER_ROLE角色资源表:T_ROLE_RESOURCE我在修改角色时,如果Struts2的action设置为@Scope("prototype")时,会删除角色用户表和角色资源表数据:Hibernate:updateT_ROLEsetUPDATE_DATE=?whereID=?Hibernate:deletefromT_ROLE_RESOURC

JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代

如果大家想深入的了解JVM,可以读读周志明<深入理解Java虚拟机:JVM高级特性与最佳实践>      需要掌握的东西,包括以下内容.判断对象存活还是死亡的算法(引用计数算法.可达性分析算法).常见的垃圾收集算法(复制算法.分代收集算法等以及这些算法适用于什么代)以及常见的垃圾收集器的特点(这些收集器适用于什么年代的内存收集).            JVM运行时数据区由程序计数器.堆.虚拟机栈.本地方法栈.方法区部分组成,结构图如下所示.      JVM内存结构由程序计数器.堆.栈.本地

ios-遇到了一个奇怪的问题

问题描述 遇到了一个奇怪的问题 今天我改了几处代码,在界面上屏蔽删除了一些东西,在模拟器上运行没问题,但是部署到真机上后,竟然是没改代码前的效果,那些删掉的屏蔽掉的东西竟然还在.这是怎么回事? 试了好几次都这样,把真机上的app删掉重装还是这样. 解决方案 好奇怪,试试clean一下 解决方案二: 把你开发机器上的生成文件都删除了,重新生成,再部署. 解决方案三: 在分析相关参数对性能影响的时候,遇到个奇怪的问题.在效果全开的情况下:1.?????? 单独关闭Caustics效果2.??????

一个奇怪的问题使用ajax提交必须alert才能赋值

 在使用ajax提交的时候将返回值赋给一个变量,无论怎么写都没法赋值,刚开始怀疑js有错但是ie没有反应过来,多次清缓存.部程序都没效果 一个奇怪的问题,在使用ajax提交的时候将返回值赋给一个变量,无论怎么写都没法赋值,刚开始怀疑js有错但是ie没有反应过来,多次清缓存.部程序都没效果......最后只好一行一行的alert看原因出在哪里:奇怪的是加上了alert之后就可以赋值,删掉alert后就又不可以了.百度了一下发现是因为ajax默认是异步执行的,也就是并没有等待请求完毕就开始执行下一行