转载 http://hi.baidu.com/windlover/blog/item/b55616d10a
如何产生javacore文件(关于cpu的)和heapdump文件(关于内存的)
1 choose one cluster member, set the following before this server start:
在was启动前设置下面环境变量(可以加在启动脚本中)
export IBM_HEAPDUMP=true
export IBM_HEAP_DUMP=true
export IBM_HEAPDUMP_OUTOFMEMORY=true
export IBM_HEAPDUMPDIR=<directory path>
2please use set command to make sure you do not have DISABLE_JAVADUMP parameter
then start this cluster member.
用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP,然后启动server
3when you find free memory < 50% when no heavy access, please run kill -3 <pid>
执行kill -3 <pid>命令可以生成javacore文件和heapdump文件(pid为was java进程的id号,可以用ps -ef|grep java 查到),可以多执行几次,按照下面操作进行
ps -ef > psef1.txt
ps aux > psaux1.txt
vmstat 5 10 > vmstat.txt
kill -3 <app server id>
wait for 2 mins
kill -3 <app server id>
wait for 2 mins
kill -3 <app server id>
netstat -an> netstat2.txt
ps -ef > psef2.txt
ps aux > psaux2.txt
将上面产生的 txt 文件和/usr/WebSphere/AppServer/javacore*文件和heapdump文件拷贝到本地,然后删除这些文件,因为这些文件会占用较大的文件系统空间。
将/usr/WebSphere/AppServer/logs/wlmserver1(或2)目录下当天产生的日志拷贝出来
用kill -3 进程号来生成javacore 与 heapdump 文件
分享到:
相关推荐
javacore 文件和 heapdump 文件是 Java 应用程序在遇到致命问题时产生的两个文件,这两个文件可以帮助我们分析和解决 Java 应用程序中的问题。 javacore 文件是一个文本文件,主要保存的是 Java 应用程序各线程在某...
Java内存dump分析和Thread Dump(Java Core)是Java性能调优中的重要环节,它们能帮助开发者定位和解决系统中的各种问题,如内存泄漏、线程阻塞等。下面将详细介绍这两个概念及其分析工具。 首先,Java堆内存dump,...
- **识别问题**:首先,根据javacore文件中的线程堆栈信息,找出可能的阻塞线程和高CPU使用率线程。 - **分析heapdump**:接着,使用heapdump分析工具查找内存占用大的对象,分析其生命周期,找出可能导致内存泄漏...
分析javacore文件可以帮助我们了解应用程序在出现问题时的运行情况,找出可能的内存泄漏或过度占用资源的线程。 `deapdump`(也称为`thread dump`或`heap dump`)是另一种重要的诊断工具,它提供了更深入的内存分析...
与HeapDump文件不同,JavaCore文件侧重于CPU的活动,而HeapDump文件则关注内存的使用情况。 JavaCore文件通常在以下两种情况下产生: 1. 当Java程序遇到致命错误但仍然可以继续运行时。 2. 当Java进程因严重问题而...
2. **解析javacore**:IBM提供了专门的工具,如`IBM Heap Analyzer`,它可以解析javacore文件,显示当前活动线程的状态,包括阻塞、等待、运行等,以及线程的调用堆栈,帮助我们定位可能的死锁或资源竞争问题。...
此外,`javacore`和`heapdump`工具也是常用的WebSphere dump分析助手,它们提供了关于JVM内存和线程状态的详细信息。 对于z/OS这样的大型主机操作系统,IBM提供了Tivoli OMEGAMON工具集,其中的OMEGAMON XE for ...
它能够帮助我们查看javacore文件中的线程状态,分析哪些线程可能阻塞了其他线程,或者消耗了大量的CPU资源。线程的状态包括运行、等待、阻塞、新生、可运行等,不同的状态反映了线程的不同活动情况。 使用"Thread...
heapdump文件则记录了Java应用程序的内存分配情况,包括对象实例、类元数据以及内存池的状态,用于分析内存泄漏和内存使用效率。 IBM Java Analyzer 4.34 提供了以下关键功能: 1. **故障诊断**:通过解析javacore...
以下是从该手册中提炼出的关键知识点,涵盖了如何强制生成HEAPDUMP和JAVACORE文件的具体步骤,这对于诊断内存泄漏、性能瓶颈等问题至关重要。 ### 强制生成HEAPDUMP和JAVACORE文件(WAS6) #### 1. 设置环境变量 ...
通过检查stuck线程数量大于0的情况,结合threaddump或java core文件分析线程死锁情况以及哪些线程处于stuck状态。 - **JDBC连接池检查**:监控JDBC连接池的状态,确保数据库连接的有效利用和稳定性。 ### 2. 日志...
在IBM WebSphere上,启用“自动堆转储”后,当内存溢出发生时,会在特定目录下生成`javacore*`和`heapdump*`文件,这些文件包含CPU线程和内存使用情况的详细信息,可用于分析问题。 4. **内存溢出原因**: - **...
- JVM参数设置:通过在启动Java应用时添加`-XX:+HeapDumpOnOutOfMemoryError`参数,当出现内存溢出时,JVM会自动生成包括Thread Dump在内的Heap Dump文件。 2. **理解Thread状态** - **NEW**:新创建但尚未启动的...
- **javacore文件**:记录CPU使用情况,heapdump文件则记录内存状态。 - **自定义解决方案**:针对具体问题如并发读取、日志输出、SQL优化、异常处理等进行定制化改进。 通过上述步骤,可以有效地监控和分析...
例如,`-XX:HeapDumpPath=./dump.core`将堆转储路径设置为当前目录下的`dump.core`文件。 3. **-XX:-AllowUserSignalHandlers** 默认情况下,Linux和Solaris上的JVM不允许用户安装信号处理器。允许这样做可以...
案例分析中涉及了使用topas检查CPU消耗,并对JVM进程进行Native线程分析,最终生成javacore文件。 综上所述,WebLogic使用手册涉及到的IT知识点包括但不限于:WebLogic的性能调优、线程转储和堆转储的获取与分析、...
- **javacore和heapdump文件**:当WebLogic遇到严重问题时,可能会生成这些文件,它们提供了内存和线程的快照,用于分析和解决问题。 4. **配置文件config.xml** - **概述**:config.xml是WebLogic Server域配置...
- 使用`MAT`(Memory Analyzer Tool)等工具分析heap dump文件。 - 找出导致内存持续增长的对象集合。 2. **本地内存泄漏的定位**: - 监控JVM的非堆内存使用情况。 - 分析方法区中的信息泄露。 3. **Perm内存...
这些工具对于 Java 程序员来说是必备的,能够帮助我们解决各种 JVM 性能问题,如 OutOfMemoryError、内存不足、线程死锁、锁争用、高 CPU 消耗等问题。 一、jps(Java Virtual Machine Process Status Tool) jps ...