Java应用程序的长时间监控?
使用像JConsole这样的工具,我可以实时监视Java应用程序。如何分析较长时间内的性能?比如说一天?还是一周Java应用程序的长时间监控?,java,performance,visualvm,jconsole,jvisualvm,Java,Performance,Visualvm,Jconsole,Jvisualvm,使用像JConsole这样的工具,我可以实时监视Java应用程序。如何分析较长时间内的性能?比如说一天?还是一周 有像jConsole这样的简单工具可以使用吗?通用的“尽可能多地监视参数”方法有多种选项: 命令行:jcmd PerfCounter.print()–然后,您需要了解它输出的属性的名称,计划定期运行它,将数据存储在某个位置,并自己可视化它 JMX bean还公开了大量(全部?)这些信息。然后,您可以找到它们(例如,您可以在JConsole中看到它们以及它们导出的内容),并使用命令行
有像jConsole这样的简单工具可以使用吗?通用的“尽可能多地监视参数”方法有多种选项:
- 命令行:
()–然后,您需要了解它输出的属性的名称,计划定期运行它,将数据存储在某个位置,并自己可视化它jcmd PerfCounter.print
- JMX bean还公开了大量(全部?)这些信息。然后,您可以找到它们(例如,您可以在JConsole中看到它们以及它们导出的内容),并使用命令行工具(例如,您可以记录这些值并将其可视化)。同样的程序:安排你自己,记录,想象你自己。它对用户不太友好,所以我之所以提到这种方法是因为
- …人们通常使用一个专门的监控系统(比如Graphite、Zabbix、Logstash/Kibana等——我把它们与“Java/JVM/JMX/JFR”一起作为搜索键),它可以通过JMX从Java进程收集信息并很好地呈现出来。这些系统解决了定时运行、存储时间序列数据、可视化等问题
- (“Java飞行记录器”)是JVM中内置的一种机制,允许连续记录许多JVM+系统指标,定期将它们转储到文件中,然后您可以使用(“Java任务控制”)可视化这些指标。它“更便宜”,因为您不需要安装/支持单独的监控系统,但不易访问(除非与监控系统配对):您需要收集、下载和处理文件
jcmd相同的。。。PerfCounter.print
,但主要是针对内存相关指标,它内置了“定期运行”功能,并以略微不同的方式显示结果(一个“记录”-一行)
我想说:如果您需要做一次或偶尔做一次,可能需要更长的时间,并且只需要几个参数,比如内存/线程数/…,那么使用
jstat
,jcmd PerfCounter.print
;如果需要更多参数,则使用JFR/JMC。如果您需要它作为与您的系统一起运行的东西,总是收集和呈现,供在JVM所在的系统中没有管理员权限的人使用,那么请查看监控系统及其与Java应用程序的集成。通用的“尽可能多地监控参数”方法有多种选择:
- 命令行:
()–然后,您需要了解它输出的属性的名称,计划定期运行它,将数据存储在某个位置,并自己可视化它jcmd PerfCounter.print
- JMX bean还公开了大量(全部?)这些信息。然后,您可以找到它们(例如,您可以在JConsole中看到它们以及它们导出的内容),并使用命令行工具(例如,您可以记录这些值并将其可视化)。同样的程序:安排你自己,记录,想象你自己。它对用户不太友好,所以我之所以提到这种方法是因为
- …人们通常使用一个专门的监控系统(比如Graphite、Zabbix、Logstash/Kibana等——我把它们与“Java/JVM/JMX/JFR”一起作为搜索键),它可以通过JMX从Java进程收集信息并很好地呈现出来。这些系统解决了定时运行、存储时间序列数据、可视化等问题
- (“Java飞行记录器”)是JVM中内置的一种机制,允许连续记录许多JVM+系统指标,定期将它们转储到文件中,然后您可以使用(“Java任务控制”)可视化这些指标。它“更便宜”,因为您不需要安装/支持单独的监控系统,但不易访问(除非与监控系统配对):您需要收集、下载和处理文件
jcmd相同的。。。PerfCounter.print
,但主要是针对内存相关指标,它内置了“定期运行”功能,并以略微不同的方式显示结果(一个“记录”-一行)
我想说:如果您需要做一次或偶尔做一次,可能需要更长的时间,并且只需要几个参数,比如内存/线程数/…,那么使用jstat
,jcmd PerfCounter.print
;如果需要更多参数,则使用JFR/JMC。如果您需要它作为与您的系统一起运行的东西,总是收集和呈现,供在JVM所在的系统中没有管理员权限的人使用,那么请查看监控系统及其与Java应用程序的集成。1)您能更深入地了解您想要精确监控的参数吗?2) 现在如何使用JConsole“分析性能”?3) 如果您告诉我们为什么在一天或一周内运行JConsole不是您的选择,即您希望从“更好”的解决方案中得到什么,这也可以使您的问题的答案更具针对性和实用性。1)您能否更深入地了解您希望精确监视的参数?2) 现在如何使用JConsole“分析性能”?3) 如果您告诉我们为什么在一天或一周内运行JConsole不是您的选择,即您希望从“更好”的解决方案中得到什么,这也可以使您的问题的答案更有针对性和有用性。