jvm运行情况预估

        相关系统

jvm优化原则-CSDN博客

 执行下面指令

jstat gc -pid

能计算出一些关键数据,有了这些数据,先给JVM参数一些的初始的,比堆内存大小、年轻代大小 、Eden和Srivivor的比例,老年代的大小,大对象的阈值,大龄对象进行老年代的阈值等。

年轻代增长速率

执行下面指令

jstat -gc pid 1000 10

通过观察EU(eden区的使用)来估算每秒eden大概新增多少对象,如果系统负载不高,可以把频率1秒换成1分钟,10分钟也是可以的具体看业务场景。注意,一般系统可能有高峰期和日常期,所以需要在不同的时间分别估算不同情况下对象增长速率。

Young GC的触发频率和每次耗时

依据年轻代增长速率就可以以eden区的大小推算出Minor GC需要多久时间触发,young GC平均耗时可以通过YGCT/YGC公式算出,根据结果就会计算出系统大概Young GC的执行而卡顿多久。

每次Young GC有多少对象进入老年代

依据前面推算出来的结果就知道Young GC频率,假设10分钟一次,可以执行jstat -PID 600000 10,观察eden区的变化,survivor区和老年代的变化情况,每次gc后eden区使用一般会大幅减少,survivor区和老年代都有可能增长,这些增长的对象就是每次Young GC后存活的对象,同时还可以看出每次Young GC后进行老年代大概多少对象,从而可以推算出老年代对象增长速度

Full GC的触发频率和每次耗时

前面已经推算出老年代对象的增长速度,接着就能推算出Full GC的触频率,Full GC的每次耗时用公司FGCT/FGC计算出来。

优化思路

让每次Young GC后的存活的对象小于Survivor区域的50%,都留存在年轻代中,尽量别让对象进行老年代。尽量减少Full GC的频率,避免频繁Full GC对JVM性能的影响。 

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用JMX(Java Management Extensions)来查看JVM运行中各个指标的情况。JMX提供了一种标准的方式来监控和管理Java应用程序,您可以使用JConsole或VisualVM等工具来连接到JVM并查看各种指标,例如内存使用情况、线程数、GC情况等。您还可以使用JMX API编写自己的监控程序来获取更详细的信息。 ### 回答2: 要查看JVM运行中各个指标的情况,可以通过以下方法进行: 1. 使用命令行工具:JVM提供了一些命令行工具来查看各个指标的情况。比如,通过使用jps命令可以查看当前运行Java进程的ID。然后,使用jstat命令可以查看内存、垃圾收集、类加载、线程等信息的统计数据。另外,还可以使用jstack命令来查看Java线程的堆栈信息,以及使用jmap命令来获取堆内存快照。 2. 使用JConsole工具:JConsole是一个JVM监视和管理工具,可以用来查看JVM运行时的各种指标。它可以显示堆内存、线程、类加载、垃圾收集等信息的统计数据,并提供可视化的界面进行监控和分析。 3. 使用VisualVM工具:VisualVM是一个功能丰富的JVM监视和性能分析工具,可以用来查看各个指标的详细信息。它提供了多种视图,可以实时监控内存、垃圾收集、线程、CPU使用率等运行时数据,并进行性能分析和诊断。 4. 使用第三方监控工具:除了上述的官方工具,还有一些第三方的监控工具可供选择。比如,可以使用AppDynamics、New Relic、Dynatrace等工具来监控JVM运行中的各个指标,并提供更多的分析和报警功能。 总之,通过命令行工具、JConsole、VisualVM以及第三方监控工具,可以方便地查看JVM运行中各个指标的情况,并进行性能分析和调优。 ### 回答3: 要查看JVM运行中各个指标的情况,可以使用以下几种方法: 1. 使用命令行工具:JVM提供了一些命令行工具来查看JVM运行时的指标。其中最常用的是jstat和jinfo命令。jstat命令可以实时监控JVM的各种指标,如堆内存使用情况、GC统计等;jinfo命令可以显示和修改JVM的配置参数。 2. 使用可视化工具:除了命令行工具,还可以使用一些可视化工具来查看JVM指标。比如VisualVM是一个常用的Java性能分析工具,可以实时监控JVM的各种指标,并提供图表展示,以便更直观地观察JVM运行情况。 3. 使用监控系统:除了单独的工具,还可以使用一些监控系统来监控JVM的各项指标。比如,使用Elasticsearch和Kibana可以搭建一个ELK监控系统,可通过收集和分析JVM生成的日志文件来监控JVM运行情况,并展示为图表形式。另外,Prometheus和Grafana也是常用的监控系统组合,可以方便地监控和可视化JVM的各项指标。 无论使用哪种方法,都可以通过查看和分析JVM的各项指标来了解JVM运行情况,如CPU利用率、堆内存使用率、线程数等,以及GC的频率和耗时情况等。这些指标可以帮助开发人员和运维人员更好地优化和调整JVM的配置,以提升程序的性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值