1. 找出占内存比较大的内存的PID(使用top命令)
比如找出PID为8763
2. 查看当前Java进程创建的活跃对象数目和占用内存大小
jmap -histo:live $pid > jmap.log
比如查看24102进程的存活对象:
jmap -histo:live 24102 | more
例如:
$ /usr/java/default/bin/jmap -histo:live 8763 > ~/jmap.log
3. 将当前Java进程的内存占用情况导出来,方便用专门的内存分析工具(例如:MAT)来分析。
jmap -dump:live,format=b,file=jmap.log [pid]
--dump堆到文件,live指明是活着的对象,file指定文件名
因为在dump:live前会进行full gc,因此不加live的堆大小要大于加live堆的大小
-heap 打印堆总结
-histo[:live] 打印堆的对象统计,包括对象数、内存大小等等
例如:
$ /usr/java/default/bin/jmap -dump:live,format=b,file=jmap.log 8763
提示:Dumping heap to /home/dmadmin/jmap.log ...
Heap dump file created
相关推荐
本文档围绕Java线上故障排查提供了详尽的方案和知识点,覆盖了从问题定位到解决方案的多个方面。 首先,了解Java线上常见问题的分类是非常重要的。在生产环境中,问题可大致分为系统异常和业务异常两大类。系统异常...
Java线上故障排查是每个Java开发者或运维人员必备的技能之一,尤其在生产环境中,快速定位并解决问题至关重要。本文将深入探讨Java线上故障排查方案,帮助你掌握一系列实用的方法和技术。 一、日志分析 1. 日志级别...
线上故障排查是IT运维中的重要环节,涉及到系统的稳定性和服务的连续性。本文主要讨论了四种常见的线上故障类型:CPU问题、频繁GC、上下文切换过多以及磁盘问题,并提供了相应的排查工具和方法。 首先,CPU异常是较...
本篇文章将探讨一个常见的问题——"线上应用故障排查之一:高CPU占用"。高CPU占用可能导致系统响应变慢,影响用户体验,甚至可能导致服务崩溃。解决这个问题需要深入理解应用程序的运行机制以及系统资源的管理。 ...
### Java线上故障排查方案 #### 一、引言 在软件开发领域,处理生产环境中的问题是一项必备技能。生产环境中可能会遇到多种复杂的情况,比如代码bug、硬件故障、网络问题等,这些都可能导致应用程序无法正常运行。...
本文将详细介绍一套线上故障排查的全面方案,涵盖CPU、磁盘、内存和网络四个关键层面。 首先,CPU异常是常见的故障类型。CPU使用率过高可能是由于业务逻辑中的死循环、频繁的垃圾回收(GC)或者上下文切换过于频繁...
### MySQL线上常见故障剖析 #### 一、故障概述与分类 在MySQL的日常运维中,经常会出现各种各样的故障,这些故障可能源自于不同的层面,包括但不限于应用层、数据库层、操作系统层等。通过对这些故障的深入分析,...
CPU占用过高是LINUX服务器出现常见的一种故障,也是程序员线上排查错误必须掌握的技能,我们经常需要找出相应的应用程序并快速地定位程序中的具体代码行数,本文将介绍一种CPU占用过高的一种处理思路,文中采用四...
线上故障主要会包括 CPU、内存、磁盘以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。基本上出问题就是 df、free、top,然后依次 使用jstack、jmap,具体问题...
Arthas,全名 Alibaba Arthas,是一个强大的开源Java诊断工具,由阿里巴巴开发并维护。这个工具的主要目的是帮助...通过熟练掌握Arthas,开发者可以在面对复杂问题时更加从容,及时解决线上故障,保障服务的高可用性。
#### 三、故障排查步骤 ##### 1. 获取故障进程ID - **工具**: `jps` - **功能**: `jps`(JVM Process Status Tool)是一个用来显示指定系统中所有HotSpot虚拟机进程的工具。 - **命令**: `jps -l -m` - `-l`: ...
其他说明:虽然 kubectl debug 是一个便捷的故障排查手段,但在实际应用过程中也要注意不要长时间占用计算资源以及避免对线上业务造成不必要的干扰。因此,应当谨慎使用并在解决问题后尽快释放相关资源。
- **故障排查**:解决线上问题,对用户反馈的问题进行定位和修复。 3. **高级Android开发工程师**: - **技术领导**:指导和培训初级或中级工程师,参与技术决策,推动技术创新。 - **跨平台开发**:了解并可能...
- **ELK (Elasticsearch, Logstash, Kibana)** 或 **Prometheus + Grafana**:这些现代日志和监控解决方案能实时收集、分析和可视化日志数据,提高故障排查效率。 6. **应用服务器监控** - **Tomcat、Jetty等应用...
基本的疑难排查步骤包括:执行 top 命令记录 CPU 使用率,执行 free 命令记录内存使用率,使用 ps 命令记录进程信息,使用 jstack 收集线程信息,使用 jstat 视图 Old 区占用率,使用 jmap 保留内存信息等。...
通过收集CPU使用率、内存占用、磁盘I/O、网络流量等系统资源监控数据,结合数据库日志(如慢查询日志),找出性能波动的时间点和关联操作。 2. **SQL查询优化**:检查慢查询日志,找出导致性能下降的SQL语句。分析...
7. **CPU过高排查**:Arthas提供CPU快照分析,协助定位CPU占用高的原因。 8. **日志级别动态调整**:在线更新日志等级为debug,获取更详细的问题排查信息。 【Arthas常用命令详解】 - **jad命令**:反编译JVM中的...
进程监控主要关注系统中各个进程的状态,如CPU使用率、内存占用情况等。 - **错误日志监控** 错误日志记录了系统运行过程中发生的异常情况,通过监控这些日志可以及时发现问题。 - **监控的最佳实践** 实践中,...