【问题标题】:Monitoring Java heap usage on a Weblogic Server监控 Weblogic Server 上的 Java 堆使用情况
【发布时间】:2014-11-04 22:06:28
【问题描述】:

我正在使用WLST 监控Weblogic 10.3 域中所有托管服务器上的Java 堆使用情况。我编写了一个 Jython 脚本来实现这一点。此脚本首先登录到域中的管理服务器。以下是获取每个托管服务器的堆统计信息的代码 sn-p:

def getServerJavaHeap():

    domainRuntime()

    servers=domainRuntimeService.getServerRuntimes()

    for server in servers:
         free    = int(server.getJVMRuntime().getHeapFreeCurrent())/(1024*1024)
         freePct = int(server.getJVMRuntime().getHeapFreePercent())
         current = int(server.getJVMRuntime().getHeapSizeCurrent())/(1024*1024)
         max     = int(server.getJVMRuntime().getHeapSizeMax())/(1024*1024)
         print 'Domain Name                  #', cmo.getName()
         print 'Server Name                  #', server.getName()    
         print 'Current Heap Size            #', current
         print 'Current Heap Free            #', free
         print 'Maximum Heap Size            #', max
         print 'Percentage Heap Free         #', freePct

上述代码获取的堆统计信息与 Weblogic 管理控制台显示的不同。例如托管服务器123

上面的代码将堆大小使用情况显示为1.25GB,而管理控制台将堆使用情况显示为3GB

我想知道为什么管理控制台显示的内容与上述代码的输出存在差异。我正在尝试确定我是否正在寻找正确的位置并调用正确的方法调用 (listed here in the docs) 以获取每个托管服务器上的堆统计信息。

我确信脚本运行的时间也是一个因素。想知道管理控制台刷新这些表的频率。

【问题讨论】:

    标签: monitoring jython weblogic-10.x heap-memory wlst


    【解决方案1】:

    我看不出你的方法有什么问题。除非您单击表格左上角的自动刷新图标(两个箭头形成一个圆圈),否则管理控制台页面不会自动更新。默认情况下,刷新间隔为 10 秒,但可以从“首选项”页面设置 - 链接位于每个页面的横幅上。

    我在管理服务器和托管服务器上都进行了尝试,只要我运行代码接近刷新,数字就会被占用。我只能假设在控制台显示数据和脚本运行之间运行垃圾收集。

    【讨论】:

      猜你喜欢
      • 2016-07-18
      • 2012-03-15
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多