今天,在部署U盘程序时,重启resin时,报错


#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

# SIGBUS (0x7) at pc=0x00000034da87aa5b, pid=3236, tid=47594056421008

#

# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_19-b02 mixed mode)

# Problematic frame:

# 段错误


此时,无论直接运行java或用ant编译,都报以上错误


把所有的java进程都kill掉后,可以正常重启2个jvm,在启动第3个时,同样的错误又出现了


尝试更换成jdk5的其它版本,错误依旧


于是,决定用jdk6试试,如果不行,准备只好重启机器了...


没想到,在安装jdk6时,失败了,先提示/tmp空间不足,然后又报段错误


这时,才突然明白,可能是/tmp空间满了,导致无法运行java


把/tmp空间清理后,用以前的jdk可正常启动resin了


那么,启动java进程时,会向/tmp目录下写什么东西呢?


进去后,会发现有一个/tmp/hsperfdata_root目录


该目录下有一些文件,这些文件就是对应java进程的pid


而文件的内容似乎是启动java的命令,还有其它的一些log信息


看来java是利用该文件来记录启动时的一些log了


郁闷的问题,下午折腾了好久......