使用JConsole之类的工具,我可以实时监视Java应用程序。如何在更长的时间内分析性能?比方说一天?还是一周?
我可以使用像jConsole这样的简单工具吗?
有一些通用的“监视尽可能多的参数”方法的选项:
jcmd <PID|main class> PerfCounter.print
(ref)–然后,您需要将其输出的属性的名称环绕起来,安排定期运行此属性,将数据存储在某个地方,然后对其进行可视化。[除了这些,还有jstat与jcmd ... PerfCounter.print
基本相同,但主要用于与内存相关的指标,它内置了“定期运行”功能,并且呈现的结果略有不同(一个“记录” – 1行)。
我会说:如果您需要一次或偶尔执行一次,可能需要更长的时间,并且只需要一些参数,例如内存/线程数/ ...,然后使用jstat
,[C0 ];如果需要更多参数,则使用JFR / JMC。如果您需要它作为与系统一起运行的东西,并且始终收集并呈现给那些在JVM所驻留的系统中没有管理员权限的人员使用,请查看监视系统及其与Java应用程序的集成。