经验不在于年限,在于积累---专注互联网软件开发

把工作当事业做,把项目当作品做!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks

最近发现一个线上项目运行一段时间之后会僵死。程序不报任何异常,占有系统资源也都正常,就是对外提供不了服务了。

(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen

根据经验,应该是程序有死锁情况,于是在线上运行“jstack –F <pid>”命令,想把线程堆栈dump下来。

但是,发现这个命令老是报下面的错误:

Thread 27316: (state = BLOCKED)
Error occurred during stack walking:
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp

线上环境是:

Linux 2.6.18-194.el5 x86_64 x86_64 x86_64 GNU/Linux

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

经过分析发现,这是JDK6u23之前版本的一个Bug,将JDK升级到最新版本(1.6.0_31)就可以解决问题了。

{B0E1C5D8-CE33-4940-B416-2E75003A59FA}

(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen

posted on 2012-04-09 16:04 hankchen 阅读(12393) 评论(3)  编辑  收藏 所属分类: 工作感悟

Feedback

# re: jstack -F 命令在Linux 64位机器报错:get_thread_regs failed for a lwp[未登录] 2012-08-27 18:51 xy
你好 我也遇到相同的问题,jstack -F报错,而且外部socket连接都是close_wait状态,请问你是怎么肯定jdk的bug,能说的详细点么?  回复  更多评论
  

# re: jstack -F 命令在Linux 64位机器报错:get_thread_regs failed for a lwp[未登录] 2012-08-27 18:53 xy
还有一个现象 我重装系统以后就没有发生这个错误了,是不是跟系统有关系?  回复  更多评论
  

# re: jstack -F 命令在Linux 64位机器报错:get_thread_regs failed for a lwp 2014-08-07 23:06 ezezas
但是根据堆栈信息来看,no deadlocks found,没有发现死锁,请问最终是如何处理的?非常感谢  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: