| 发表于:2008-01-06 18:01:597楼 得分:0 |
那好像只能做一个heapdump查一下内存被什么占了,或者作两个heapdump比较一下什么在增长,这儿有个例子(使用jacl脚本做的): 生成heap dump文件 was6.1中,在使用ibm jdk的平台上,可以直接使用以下的方法,随时生成所需的heapdump文件。如果在性能诊断顾问程序配置里面选中了"启用自动堆转储收集,则可以自动在websphere profile所在的路径下(例如/opt/ibm/websphere/was6.1/profiles/appsrv01)生成heapdump文件,备用户进行分析。 在使用ibm sdk的平台上,例如aix, linux和windows,在启用了性能诊断顾问工具后,如果探测到有内存泄漏发生,websphere会自动生成两个heapdump文件,供后续分析使用。 我们在任何时候,可以随时手动生成所需的heap dump文件。在was6.1 profile的bin目录下,首先运行wsadmin 脚本客户端,然后可以调用generateheapdump操作来完成。 关键步骤: 1. 找到jvm对象名字。 <wsadmin> set objectname websphere:type=jvm,process= <websphere服务器名字> ,node= <节点名字> ,*] 2. 对jvm mbean调用generateheapdump操作。 <wsadmin> $admincontrol invoke $objectname generateheapdump | | |
|