jvm 运行一段时间后无响应假死

亲努力啊 2017-12-26 03:24:05
我有一个java项目,但是不定期的会僵死。
执行完jmap -F后,系统自动恢复了。
我还执行过jstack,也必须使用-F,拿到的文件所有线程全部blocked,且没有死锁或者等待某些资源的提示。执行完jstack -F,系统也能自动恢复。


PC PU OC OU YGC FGC FGCT GCT
262144.0 159521.7 4194304.0 329202.4 44 0 0.000 1.742

麻烦大神帮忙解答下
...全文
548 点赞 收藏 7
写回复
7 条回复
启动的参数呢?看看
回复 点赞
ihss23 05月26日
我也遇到了。我这边有几个情况: 1。我使用其它JAVA框架不会,就使用若依才会。 2。同样的代码,同样的CLASS,都没重新编译过CLASS。到我运行时才用。同事说他没遇到过。 3。不知是不是JDK1.8才这样,反正以前1。7之前从未遇到过。 4。遇到卡死,只要在控制台按下回车就OK了,接着跑。不用任何工具。
回复 点赞
山上的太阳 2019年06月05日
hello,你好,我也出现了和您类似的问题,请问您找到原因了吗
回复 点赞
kampoo 2017年12月31日
也曾遇到过这种情况,定位问题确实耗费时间。如果JVM没有发现异常,可以考虑如下情况: 1. 调用了需要BLOCK的函数,比如Object#wait,等待导致了软件挂起。 2. 调用了其他服务器或者大文件而没有返回,比如InputStream#read、Channel#read等操作,导致软件挂起。 3. 内存分配不足,而实际消耗内存过高,导致软件挂起。 4. 建好日志系统,为了调试这种问题,可以每个线程输出到不同的日志文件中,每个循环都打印日志,看看最后的日志停在什么地方。 5. 是不是系统的问题?虽然可能性很小,而且操作系统在很多Linux/Windows版本上都运行的很好,但不排除某些小众操作系统的JVM出现异常。 祝好运!
回复 点赞
tianfang 2017年12月29日
jvisualvm 看看线程状态
回复 点赞
亲努力啊 2017年12月27日
引用 1 楼 oyljerry 的回复:
是不是有内存泄露。把系统资源都耗尽了。
看了内存使用情况是正常的,没有发生内存泄露
回复 点赞
oyljerry 2017年12月26日
是不是有内存泄露。把系统资源都耗尽了。
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告