Websphere系统hang原因调查
来源:互联网 发布:淘宝信用卡代付套现 编辑:程序博客网 时间:2024/05/01 03:19
某个系统使用openjpa 作为持久层,对一些native query,openjpa返回的result size返回的是int最大值2147483647,让人很受伤。旧的代码为了得到实际result长度,通常在持久层对result list做一次遍历操作,把所有对象放到新的ArrayList中返回。最近一次功能扩展,对返回的result list直接使用toArray放到新的list当中返回,本地测试没有问题,去到服务器Websphere上面就挂了,系统卡死在调用新持久层函数的地方,不知道为什么。我先去系统监控中查看了CPU,内存,网络使用情况,发现内核使用CPU的时间明显变长
接下来要求系统环境维护人员帮忙对出问题的JVM进行了core dump和heap dump,用ibm thread analyzer hca456.jar对core dump进行分析,发现系统停在了ArrayList的初始化地方
很明显,系统是死在了toArray的实现上了,对Integer最大长度的Array在进行拷贝操作,系统CPU使用时长增加。
在oracle的jdk中,toArray的拷贝长度取决于内部array的length,所以虽然result list size返回的是Integer的最大值,但是不影响toArray的实现,IBM的JDK实现不一样,结果就中招了。
0 0
- Websphere系统hang原因调查
- 系统HANG住了,怎么办?
- WebLogic Server Hang产生的一般原因
- hanganalyze诊断数据库hang的原因
- gprs原因正在调查中
- 内存对齐的原因调查
- Solaris 上调试系统 hang 的总结
- 系统Hang住时用oradebug分析的方法
- 中止进程导致系统HANG住
- 系统HANG住分析工具及方法
- 系统HANG住分析工具及方法
- 在线调查系统
- 通用调查系统开发
- 调查统计系统设计
- Lily系统调查
- 免费调查问卷 调查问卷投票系统
- websphere系统变量设置
- websphere - 系统问题分析
- UML九种图概述
- UIGestureRecognizer
- 安卓开发自己写的刻度尺测量,精确到mm.
- oracle学习笔记——存储过程
- MinHashing基本原理
- Websphere系统hang原因调查
- leetCode 116.Populating Next Right Pointers in Each Node (为节点填充右指针) 解题思路和方法
- PHP 编码风格规范指南
- iOS中关于UILabel删除线NSStrikethroughStyleAttributeName的使用
- Linux设备驱动开发——环境搭建
- 预编译相关详解
- 机器学习与人工智能学习资源导引(转自刘未鹏)
- linux shell中的管道执行(作业控制有关的shell)
- java学习个人笔记---java内存管理之Java对象的引用方式