锚 | ||||
---|---|---|---|---|
|
主要用于跟踪服务器出现内存泄漏的情况(如客户现场系统占用内存异常的大并且GC之后不释放),也可以跟踪当服务器出现死锁时,死锁线程的局部参数,可以更有效率的定位。
锚 | ||||
---|---|---|---|---|
|
锚 | ||||
---|---|---|---|---|
|
1)通过jps或netstat获取Java进程号:
2)在JDK的bin目录运行生成整个堆Dump文件【jmap -dump:live,format=b,file=进程号.bin 进程号】
锚 | ||||
---|---|---|---|---|
|
锚 | ||||
---|---|---|---|---|
|
1)、启动wsadmin.bat ,路径为:D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
输入命令行: cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
./wsadmin.bat
2)、输入命令 wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<server1>,*]
说明:上面中的<server1>要换成现场was服务的真实名称
比如在服务器上对应的服务名是server1 ,命令行输入是:set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
3)、输入命令 wsadmin> $AdminControl invoke $objectName generateHeapDump
4)、安装目录D:\IBM\WebSphere\AppServer\profiles\AppSrv01下生成HeapDump文件(例 : heapdump.20170719.141911.10952.0003.phd)
5)、将获取都到的heapdump文件发回分析即可。
6)、was如何分析heapdump文件?
用heapdump文件分析器对heapdump文件进行分析
cd /d heapdump文件分析器放置路径>java -Xmx1000m -jar ha33.jar
锚 | ||||
---|---|---|---|---|
|
- 在JDK的Bin目录下打开jvisualvm.exe
- Jvisualvm装入hprof文件
- 生成线程文件
这一步后面需要看线程信息时再生成也成,这里生成的线程和命令行生成的线程是有些区别的,它还含有一些局部变量的信息。
4. 查询使用最多的smartbi类
点击数量极大的类,这里是smartbi.freequery.querydata.CellData
展开其中多个
看是否同一个对象持有(如示例发现)
向下找到对应的对象
点击查看具体的值
然后打开该报表验证设置的问题