针对java的内存分析方法和工具现在是越来越多了,但一番了解下来,发现最后还是jmap,jstat等原生命令最实用,jconsole虽然比较方便,但是在dump这块是个硬伤- -`,1.6之后自带的VisualVM工具补足了这一块,但居然不支持远程dump分析....基本上沦为了中看不中用:(
今天在用jmap查看内存信息时,出现此错误: The -F option can be used when the target process is not responding
无奈,加入-F参数后又报:
Attaching to process ID 7861, please wait...
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "heapOopSize" in any of the known library names
看了下linux环境的jdk版本,为1.6_0_17,无任何问题,其他命令均可使用,最后无意中发现,tomcat启动的catalina.sh环境配置中居然重新配置了一个1.5的jdk...........初心大意了,需要引以为戒!
分享到:
相关推荐
### 使用jmap分析Java程序性能问题 在Java开发与维护过程中,经常遇到与内存相关的性能问题及故障。这些问题包括但不限于内存泄漏、频繁的垃圾回收、内存溢出等,它们不仅影响程序的稳定运行,还可能导致服务中断。...
Java诊断与调优是开发和运维人员日常工作中不可或缺的一部分,尤其是在生产环境中,遇到问题时能够快速定位并优化显得尤为重要。本文主要介绍了四个Java命令行工具:jps、jmap、jstack和jstat,它们是Java性能分析和...
作为前端开发人员,您经常会遇到在网站上实施 Google 地图的情况。 谷歌地图并不难,我知道,但一遍又一遍地重复相同的代码,好吧,它很糟糕。 jMap 是一个简单易用的 Google Maps API 包装器,并且还有一些其他不错...
在使用Apache Doris的过程中,有时会遇到线上Doris Frontend(FE)内存使用过高的问题。Doris系统架构中,FE主要负责元数据管理、查询请求解析与计划生成,而Backend(BE)则承担主要的数据存储和计算工作。尽管大...
Java 程序运行慢问题是 Java 开发者经常遇到的问题,解决该问题需要从多方面入手。本文将从 CPU 资源使用情况、Java 进程的每一个线程占用 CPU 的情况、内存泄露、死锁等方面入手,提供了一些实用的解决方案。 一...
- **使用场景**:当遇到应用程序响应缓慢或挂起时,可以使用 jstack 来检查线程的状态,特别是线程阻塞情况。 - **命令格式**:`jstack [options] <pid>` 或 `jstack [options] core` ##### 2. jconsole - **功能**...
线上问题排查是开发和运维工作中的一个重要组成部分,其目的是为了快速定位和...作为开发和运维人员,需要熟练掌握这些工具,并且能够根据实际遇到的问题灵活运用,快速定位问题所在并解决,确保系统的稳定性和可用性。
通过阅读这些文档,开发者可以更深入地理解和使用这些工具,提高解决问题的效率。 在实际开发和维护中,熟练掌握这些JDK自带的调试工具,不仅可以帮助我们找出代码中的问题,还可以优化应用性能,提升软件质量。...
当遇到内存溢出问题时,通常会先使用`jmap`生成dump文件,然后使用专门的分析工具,如Eclipse Memory Analyzer (MAT)、VisualVM等对dump文件进行解析。这些工具能帮助我们找到内存泄漏的根源,识别长期存活的大对象...
示例部分则可以帮助我们更好地理解和应用这些工具,以便在实际工作中解决遇到的问题。 总结来说,IBM的jca436和jca461工具是Java开发和运维不可或缺的利器,它们通过与`jps` 和 `jmap` 配合,提供了全面的线程堆栈...
- 遇到内存溢出或泄露问题时,MAT 是一款非常强大的工具,可以帮助快速定位问题所在。 - 在日常开发中,应当注重代码优化,避免不必要的内存消耗,同时合理设置 JVM 参数以防止内存溢出的发生。 综上所述,正确使用...
在进行性能测试时,可能会遇到各种问题,如CPU过高、内存溢出、线程死锁等。以下是对这些问题的详细讨论及其解决方案: 1. CPU过高: - 通过`vmstat`实时监控CPU使用情况,如果AP CPU超过60%的指标,需进行分析。 ...
例如,JVM内存设置(如-Xms, -Xmx)可能影响到程序的内存使用,而JDK版本可能影响到某些功能的行为。 4. **异常堆**:在某些情况下,日志会包含异常堆的详细信息,如对象的实例数量、类加载器状态等。这在排查内存...
然而,在实际运行过程中,由于复杂的运行环境和技术栈的多样性,JVM可能会遇到各种各样的问题,如性能瓶颈、内存泄漏、CPU占用过高、网络延迟等。这些问题不仅会影响服务的稳定性和响应速度,还可能导致严重的业务...
这些工具能够帮助开发者识别和诊断内存泄露、CPU使用问题、线程死锁等多种性能瓶颈问题。 JDK自带的监控和分析工具包括但不限于以下几种: 1. jstatd:是一个监控服务,它在目标机器上创建一个RMI(远程方法调用)...
本文将从 JVM 和 GC 相关参数、问题解决过程、排除应用程序的内存使用问题、排除 Cache 内容过多的问题、调整 GC 时间点、调整对象在年轻代内存中驻留的时间、CMS Remark之前强制进行年轻代的 GC 等几个方面详细介绍...
当遇到这种情况时,第一步通常是获取JVM的堆内存快照,这可以通过`jmap -heap pid`命令完成,该命令会为指定进程生成一个3G大小的dump文件,以便后续分析。 分析内存dump文件时,MAT工具是非常强大的助手。它可以...
《Java问题定位技术(书签版)—JVM调优》这本书可能涵盖了以上这些内容,通过深入学习,开发者可以掌握更高级的故障排查技巧,比如使用`jmap`、`jhat`等工具进行堆内存分析,或者利用`jfr`进行飞行记录,获取详细的...
《JDK12故障排查指南》是一份详细的技术文档,主要针对Java开发人员在使用Java Development Kit(JDK)12版本时可能遇到的问题提供了解决方案和指导。该文档由Oracle公司及其关联公司拥有版权,包含了使用和披露的...