Steve Schnepp Asked: 2009-10-28 07:16:06 +0800 CST2009-10-28 07:16:06 +0800 CST 2009-10-28 07:16:06 +0800 CST 在 JVM 上监控哪些性能指标? 772 我想对我们的 JVM 进行一些性能监控。 除了我已经在我的清单上的显而易见的事情之外,还有什么值得监控的? JVM 可用/总内存 GC 率(每分钟多少次) GC的持续时间 performance-monitoring 2 个回答 Voted Best Answer user19509 2009-10-29T00:20:05+08:002009-10-29T00:20:05+08:00 对于多线程应用程序,与线程相关的指标对于性能和可用性监控都很有用。这样,您就可以监控过度争用和排队、潜在的死锁等情况。 查看线程指标如何与 CPU 和内存指标相关联也很有用。例如,如果您经常看到完整的 GC,那么知道其中一个线程运行的时间比您通常预期的要长得多会很有用。它可能会陷入无限循环并耗尽堆。 这里有一些想法: http://www.informit.com/guides/content.aspx?g=java&seqNum=250 sleske 2009-10-28T09:56:23+08:002009-10-28T09:56:23+08:00 您的清单涵盖了必需品。一些额外的东西: JVM的CPU使用率 您还可以查看Java 管理扩展(JMX) 来监控 JVM 正在做什么。如果应用程序支持 JMX(例如大多数应用程序服务器支持),JMX 允许您查询 JVM 以获取可用内存或 GC 详细信息等内容,并从运行在 VM 中的应用程序获取信息。这样您就可以查询关键日志条目、数据库故障、事务数/秒等。
对于多线程应用程序,与线程相关的指标对于性能和可用性监控都很有用。这样,您就可以监控过度争用和排队、潜在的死锁等情况。
查看线程指标如何与 CPU 和内存指标相关联也很有用。例如,如果您经常看到完整的 GC,那么知道其中一个线程运行的时间比您通常预期的要长得多会很有用。它可能会陷入无限循环并耗尽堆。
这里有一些想法:
http://www.informit.com/guides/content.aspx?g=java&seqNum=250
您的清单涵盖了必需品。一些额外的东西: