一、序言
这里简单介绍了JAVA 应用程序部署linux 服务器上的一些常用监控信息,虽然现在很多自动化监控的东西,但是一些基本的东西,我们还是需要了解。这里是简单记录一下:
二、操作过程
1.我习惯性先看看 CPU 和内存的使用情况,做一个简单的关注
命令:top 可以关注运行状态
命令:大写P:按CPU 使用排序,大写M:按内存使用排序,小写c:详细显示应用
比如A应用出现
VIRT:虚拟内存总共2G,RES:物理已经内存占用:1.8G,并且有持续上升趋势,有可能内存溢出
关于JDK 自带命令,可以参考:http://blog.csdn.net/fenglibing/article/details/6411953
2.jstack -l -pid 查看堆栈信息
当然我习惯性输出到文件:jstack 1234 > jstack_1234.txt
一般我用来分析死锁:看看有什么blocked 之类的,如果有就具体分析对象吧
3.查询内存信息 到文件
jmap -histo > jmap_1234.txt
# 会出现类似的东西,这里里面会出现 对象实例个数大小,含义相信都能看懂
# 如果有溢出危险,可以看看是不是有些不应该存在的对象过多,或者泄露~。~
num #instances #bytes class name
----------------------------------------------
1: 5639055 314750880 [C
2: 5090750 122178000 java.lang.String
3: 634655 50563800 [B
4: 132871 49959496 com.taobao.api.domain.Trade
5: 535513 30530896 [Ljava.lang.Object;
6: 457581 27420936 [I
7: 421408 23598848 com.taobao.api.domain.MsgList
#...
# 上面关注的对象,发现订单Trade 占 49959496/8/1024/2024 = 5.95
# 至于合理性,要根据自己系统进行判断,如果是内存不够,需要调大JVM内存
# jmap -histo:live 这是存活的对象
# 当然如果你应用挂了,你可以jmap -dump 看下内存快照
# jmap -head 看一下当前空间的使用情况
# 正常情况不建议这么做,生成快照的时候应用会stop 一下!
4.关注GC信息
jstat -gcutil > jstat_1234.txt
# 会出现类似以下信息 S0 S1 E O P YGC YGCT FGC FGCT GCT 38.69 0.00 90.60 79.89 59.31 150460 1693.925 609 137.180 1831.105 # 我喜欢主要关注FGC 的次数:609 当然这个要配合运行时间去看,你可以5-10分#钟运行几次,看看FGC 的增长率,快了肯定的调节 #当然你还可以观察新生代 、老年代、永久代详细信息,具体参数看上面的链接
小结:
1.虽然很多大部分情况下,公司有运维或者专门的监控工具做这些了,但是了解一下还是有好处的,当然基本的得清楚JVM 的一些分布、原理基础。
2.关于一些常用调优手段,有机会结合实际场景 再分享吧,脱离场景的 都感觉 不太好。
3.也可以用远程的一些工具去操作这些
相关推荐
针对复杂的java应用环境进行全方面的性能监控与管理,文章中引用了ca wily apm解决方案,阐述了如何利用外部工具帮助优化java应用系统的性能,确保用户使用体验,针对weblogic,websphere,jboss等主流java中间件...
在Java应用性能监控场景下,客户端通常是指安装在运行Java应用的服务器或设备上的轻量级代理(Agent),而服务器端则是集中管理这些代理并处理收集到的数据的中心平台。客户端代理负责监视应用程序的内存使用、CPU...
在Java虚拟机的上下文中,性能监控主要关注的是如何利用各种工具和技术来监控和改善JVM及其上运行的应用程序的性能。 ##### 目标: - **保持和管理系统健康**:通过持续监控系统的各项指标,可以及时发现潜在问题,...
Java性能监控是优化Java应用程序的关键环节,它可以帮助开发者识别并解决性能瓶颈,确保程序的高效稳定运行。在Java中,有一些内置的工具可以用来监控和分析性能,包括内存使用、垃圾回收等方面。 首先,`jps`命令...
脚本运行在linux环境,执行后显示系统前5个cpu占用最大的java程序,并且把里面的异常信息打印出来
JavaMelody是一款强大的JAVA Web项目服务器性能监控工具,它能够实时、全面地监控应用程序的运行状态,帮助开发者和运维人员了解系统性能瓶颈,及时发现并解决问题。通过在Java Web应用中简单集成,JavaMelody就能...
Java性能监控是针对Java应用程序的性能分析和优化过程,目的是确保程序运行高效,资源使用合理。在Java环境中,性能监控通常包括CPU使用率、内存使用情况、线程状态、垃圾回收(Garbage Collection)行为等多个方面...
在现代云原生应用架构中,监控和性能...通过集成Datadog,开发者可以实时监控应用性能,快速定位并解决性能问题,从而提高应用的稳定性和用户体验。随着云原生技术的不断发展,Datadog等监控工具的作用将越来越重要。
将视频整合成为思维导图,看着方便,节省时间。 内容包括:(1)基于JDK命令后工具的监控(2)基于Btrace的监控调试...(4)java代码层优化(5)JVM层GC调优(6)基于JVisualVM的可视化监控(7)tomcat性能监控和调优
Java 自带的性能监控工具包括 VisualVM 和 JConsole,都是功能强大的性能监控工具,能够帮助开发者快速监控和优化 Java 应用程序的性能。 Conclusion Java 自带的性能监控工具使用简介,包括 VisualVM 和 JConsole...
Rrdtool是一种高效的数据存储方案,特别适合于长期保存时间序列数据,如性能监控数据。jrobin库使得JavaMelody能够在不依赖外部软件的情况下,本地持久化监控数据,方便后期分析和对比。 要开始使用JavaMelody,...
1. **JVM监控**:Java虚拟机(JVM)是Java应用程序的基础,它负责执行字节码。通过JMX(Java Management Extensions)可以监控JVM的内存使用、线程状态、类加载、垃圾收集等信息。例如,`VisualVM`和`JConsole`是两...
某课教程++++++Java生产环境下性能监控与调优详解,精品。
GC(Garbage Collection)监控是Java应用性能优化的核心。WY系统提供GC日志分析,展示不同GC类型的执行时间、次数和暂停时间,有助于确定是否需要调整垃圾回收策略以减少应用停顿时间。 类加载监控则关注于类的加载...
本课程将为你讲解如何在生产环境下对Java应用做性能监控与调优;通过本课程,你将掌握多种性能监控工具应用,学会定位并解决诸如内存溢出、cpu负载飙高等问题;学会线上代码调试,Tomcat、Nginx,GC调优等手段; 读...
这份"Java生产环境下性能监控与调优详解课程笔记(完整版)"涵盖了多个重要的知识点,旨在帮助开发者和运维人员提升Java应用的性能。 一、Java性能监控工具 1. JVisualVM:集成在JDK中的一个多用途工具,可以进行...
总之,JavaMelody是一款强大的监控工具,它简化了Java应用和服务器的性能监控,通过直观的图表帮助开发者和运维人员快速定位问题,提升系统的稳定性和效率。只需几步简单的配置,您就可以享受到JavaMelody带来的便利...
总的来说,JavaMelody是一个强大且易于使用的Java Web应用性能监控工具,能够为开发者和运维团队提供宝贵的洞察力,确保应用的稳定性和高效运行。通过深入理解和有效利用JavaMelody,我们可以及时发现和解决潜在的...
通过选择合适的监控指标、使用有效的监控工具、实施日志管理和性能调优、以及构建自动化运维体系,可以显著提高Java应用的稳定性和性能。本文详细介绍了Java应用监控和管理的各个方面,希望能够帮助读者构建一个高效...