常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

jdk1.5+tomcat5.5突然报错,java虚拟机无法创建

 
发表新文章   回复文章    FreeBSD China -> JAVA平台
阅读上一个主题 :: 阅读下一个主题  
作者 留言
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Wed 2008-11-19 15:42:54    发表主题: jdk1.5+tomcat5.5突然报错,java虚拟机无法创建 引用并回复

我们的业务系统跑在jdk1.5+tomcat5.5上,目前tomcat5.5已经无法启动,检查日志为java的虚拟机无法创建。
直接运行java提示
root@www[/usr/ports/www/openx]#java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

但是使用top查看内存:
Mem: 36M Active, 380M Inact, 95M Wired, 112M Buf, 3378M Free

经过反复试验,发现只有指定最大内存低于700兆才能运行java这个命令:
root@www[/usr/local/diablo-jdk1.5.0/bin]#java -Xms256m -Xmx256m -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build diablo-1.5.0-b01)
Java HotSpot(TM) Server VM (build diablo-1.5.0_07-b01, mixed mode)


我修改了tomcat的catalina.sh,加入了JAVA_OPTS="-server -Xms256m -Xmx256m ",后还是无法启动tomcat和执行java这个命令,希望遇见过这种情况的高手能指点一二。
返回页首
阅览会员资料 发送站内信件
redv
老妖


注册时间: 2003-11-28
文章: 1178

文章发表于: Wed 2008-11-19 15:55:49    发表主题: 引用并回复

ports 安装的 tomcat55 么?

如果是,则

在 /etc/rc.conf 里添加:

代码:
tomcat55_java_opts="-server -Xms64m -Xmx500m -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC"


其中值,自己改。

_________________
问:为什么不用ports?
答:装13。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Wed 2008-11-19 15:59:58    发表主题: 收到,马上去设置,谢谢了。 引用并回复

感谢redv
返回页首
阅览会员资料 发送站内信件
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Wed 2008-11-19 16:25:03    发表主题: 引用并回复

我的rc.conf设置如下
代码:
export JAVA_HOME="/usr/local/diablo-jdk1.5.0"
export CATALINA_HOME=/usr/local/tomcat5.5
export CLASSPATH="/usr/local/diablo-jdk1.5.0/lib"
tomcat55_enable="YES"
tomcat55_java_opts="-server -Xms256m -Xmx256m -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC"


重新启动系统后,执行
代码:
root@www[/root]#java  -version
系统仍然报错
代码:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.


我的tomcat和jdk都是通过ports安装的。
返回页首
阅览会员资料 发送站内信件
redv
老妖


注册时间: 2003-11-28
文章: 1178

文章发表于: Wed 2008-11-19 16:37:03    发表主题: 引用并回复

landerqiao 写到:
我的rc.conf设置如下
代码:
export JAVA_HOME="/usr/local/diablo-jdk1.5.0"
export CATALINA_HOME=/usr/local/tomcat5.5
export CLASSPATH="/usr/local/diablo-jdk1.5.0/lib"
tomcat55_enable="YES"
tomcat55_java_opts="-server -Xms256m -Xmx256m -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC"


重新启动系统后,执行
代码:
root@www[/root]#java  -version
系统仍然报错
代码:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.


我的tomcat和jdk都是通过ports安装的。


我给你的那个参数(tomcat55_java_opts)只是用来控制 /usr/locat/etc/rc.d/tomcat55 的,现在tomcat55正常了吧?

_________________
问:为什么不用ports?
答:装13。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Wed 2008-11-19 17:00:02    发表主题: 引用并回复

tomcat启动正常了,呵呵,刚才只顾看java那个了没注意,太感谢您了。
返回页首
阅览会员资料 发送站内信件
redv
老妖


注册时间: 2003-11-28
文章: 1178

文章发表于: Wed 2008-11-19 17:29:46    发表主题: 引用并回复

landerqiao 写到:
tomcat启动正常了,呵呵,刚才只顾看java那个了没注意,太感谢您了。


至于 Java 命令,我想你没有啥必要解决,呵呵,实在要解决,可以用个卑鄙的手段: 把 alias java=java -Xmx256m 加到 .cshrc 之类文件中去,哈哈。

_________________
问:为什么不用ports?
答:装13。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Wed 2008-11-19 17:33:30    发表主题: 引用并回复

呵呵,那个无所谓了,服务能用就ok了。
太感谢了。
返回页首
阅览会员资料 发送站内信件
lionkgxu
半仙


注册时间: 2008-07-04
文章: 4

文章发表于: Thu 2008-12-18 11:07:36    发表主题: 引用并回复

好东西!好资料!六个脚印
返回页首
阅览会员资料 发送站内信件
landerqiao
半仙


注册时间: 2008-04-08
文章: 10

文章发表于: Thu 2008-12-18 14:45:43    发表主题: 这么用于正式环境,总是觉得怪怪的,于是乎把该服务器下架,升级到7.0后,安装了jdk1.6 引用并回复

这个版本貌似freebsd取得了sun公司的授权,可以用pkg_add方式安装了,当然安装过程飞快。但是直接执行java还是报错,不同的报错多了日志功能。已经按照提示把错误日志发送到了那个邮箱,目前等消息ing
代码:
root@www1[/home/infolvye]#java
Error occurred during initialization of VM
Could not reserve enough space for object heap
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x83aae862, pid=4025, tid=0x83c01200
#
# Java VM: Diablo Java HotSpot(TM) Server VM (10.0-b23 mixed mode bsd-x86)
# Problematic frame:
# C  [libc.so.7+0x61862]  calloc+0x9b2
#
# An error report file with more information is saved as:
# /home/infolvye/hs_err_pid4025.log
#
# Please submit bug reports to freebsd-java@FreeBSD.org
#
Abort (core dumped)


代码:
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x83aae862, pid=4269, tid=0x83c01200
#
# Java VM: Diablo Java HotSpot(TM) Server VM (10.0-b23 mixed mode bsd-x86)
# Problematic frame:
# C  [libc.so.7+0x61862]  calloc+0x9b2
#
# Please submit bug reports to freebsd-java@FreeBSD.org
#

---------------  T H R E A D  ---------------

Current thread (0x84921800):  Thread [stack: 0xbf5af000,0xbf5ff000] [id=-2084564480]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0xbf500000

Registers:
EAX=0xbf5fee10, EBX=0x83b337f8, ECX=0x0000000c, EDX=0xbf5fee10
ESP=0xbf5fec60, EBP=0xbf5feca8, ESI=0xbf500000, EDI=0x84921800
EIP=0x83aae862, EFLAGS=0x00010287

Top of Stack: (sp=0xbf5fec60)
0xbf5fec60:   bf5fec7b 03790000 83aae83b 83b337f8
0xbf5fec70:   bf5fee10 84921800 bf5feca8 83aaeb7e
0xbf5fec80:   00000000 84921800 bf5feca8 83dfd583
0xbf5fec90:   84912c00 bf5fecb8 83aae83b 83b337f8
0xbf5feca0:   bf5fee10 84921800 bf5fecd8 83aaeb7e
0xbf5fecb0:   84902280 84921800 bf5fecd8 83dfd5aa
0xbf5fecc0:   843415c4 843415c4 bf5fece8 83fc5f4e
0xbf5fecd0:   8484cb34 bf5fee10 bf5fece8 84826bd1

Instructions: (pc=0x83aae862)
0x83aae852:   c6 0f 84 c7 01 00 00 8b 55 c8 8b 8b d4 60 00 00
0x83aae862:   8b 06 29 f2 d3 ea 89 45 cc 8b 7c d6 24 85 ff 74

Stack: [0xbf5af000,0xbf5ff000],  sp=0xbf5fec60,  free space=319k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.7+0x61862]  calloc+0x9b2
C  [libc.so.7+0x61b7e]  free+0x2e
C  [libstdc++.so.6+0xc7bd1]  _ZdlPv+0x21
V  [libjvm.so+0x55aa62]
V  [libjvm.so+0x55b1d5]
V  [libjvm.so+0x55fa8b]
V  [libjvm.so+0x30a2f3]
C  [java+0xa795]  JavaMain+0x1d55
C  [java+0x8ae1]  JavaMain+0xa1
C  [libthr.so.3+0x6b1f]  pthread_getprio+0xcf


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )

Other Threads:

=>0x84921800 (exited) Thread [stack: 0xbf5af000,0xbf5ff000] [id=-2084564480]

VM state:not at safepoint (not fully initialized)

VM Mutex/Monitor currently owned by a thread: None

Dynamic libraries:
0x08048000      /usr/local/diablo-jdk1.6.0/bin/java
0x83a3a000      /lib/libthr.so.3
0x83a4d000      /lib/libc.so.7
0x83d00000      /usr/local/diablo-jdk1.6.0/jre/lib/i386/server/libjvm.so
0x8475f000      /usr/lib/libstdc++.so.6
0x83b49000      /lib/libm.so.5
0x83b5e000      /lib/libgcc_s.so.1
0x83b6a000      /usr/local/diablo-jdk1.6.0/jre/lib/i386/native_threads/libhpi.so
0x83b85000      /usr/local/diablo-jdk1.6.0/jre/lib/i386/libverify.so
0x83b92000      /usr/local/diablo-jdk1.6.0/jre/lib/i386/libjava.so
0x83bb9000      /usr/local/diablo-jdk1.6.0/jre/lib/i386/libzip.so
0x83bc2000      /lib/libz.so.4
0x83a06000      /libexec/ld-elf.so.1
VM Arguments:
java_command: <unknown>
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/usr/local/diablo-jdk1.6.0
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
LD_LIBRARY_PATH=/usr/local/diablo-jdk1.6.0/jre/lib/i386/server:/usr/local/diablo-jdk1.6.0/jre/lib/i386:/usr/local/diablo-jdk1.6.0/jre/../lib/i386
SHELL=/bin/csh
HOSTTYPE=FreeBSD
OSTYPE=FreeBSD
MACHTYPE=i386

Signal Handlers:
SIGSEGV: [libjvm.so+0x59f5d0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGBUS: [libjvm.so+0x59f5d0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGFPE: [libjvm.so+0x48dcb0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGPIPE: [libjvm.so+0x48dcb0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGXFSZ: [libjvm.so+0x48dcb0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGILL: [libjvm.so+0x48dcb0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGUSR1: SIG_DFL, sa_mask[0]=0xfffefeff, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x4903b0], sa_mask[0]=0x00000000, sa_flags=0x00000042
SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000002
SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000


---------------  S Y S T E M  ---------------

OS:Bsd
uname:FreeBSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Fri Dec 12 11:30:03 CST 2008     root@www1.lvye.info:/usr/src/sys/i386/compile/my i386
rlimit: STACK 524288k, CORE infinity, NPROC 5547, NOFILE 11095
CPU:total 4 (1 cores per cpu, 2 threads per core) family 15 model 2 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 4093020k(1023255k free)
vm_info: Diablo Java HotSpot(TM) Server VM (10.0-b23) for bsd-x86 JRE (1.6.0_07-b02), built on May 12 2008 23:06:05 by "truk" with gcc 4.2.1 20070719  [FreeB

time: Thu Dec 18 14:44:35 2008
elapsed time: 0 seconds


看日志的时候,这里比较奇怪
代码:
Memory: 4k page, physical 4093020k(1023255k free)

我通过top查看,此时内存空闲远远大于这个数值的(这台服务器目前闲置中)
代码:
last pid:  7196;  load averages:  1.10,  0.24,  0.09                     up 0+04:26:57  15:05:19
40 processes:  1 running, 22 sleeping, 16 stopped, 1 zombie
CPU states:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 20M Active, 285M Inact, 112M Wired, 120K Cache, 112M Buf, 3592M Free
Swap: 4000M Total, 4000M Free
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> JAVA平台 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2022cc © 2003 Opensource Steps; © 2003-2007 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标