我正在使用WLST
监控Weblogic 10.3
域中所有受管服务器上的Java堆使用情况。我写了一个Jython脚本来实现这一点。该脚本首先登录到域中的管理服务器。以下是获取每个受控服务器堆统计代码片段:监控Weblogic服务器上的Java堆使用情况
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管理控制台显示不同。例如,对于管理server123
上面的代码给堆大小用法1.25GB
而管理控制台显示堆的用法作为3GB
我想知道为什么会出现在什么管理控制台显示的差异和上面代码的输出。我试图确定我是否正在寻找正确的位置并调用正确的方法调用(listed here in the docs)以获取每个受管服务器上的堆统计信息。
我相信脚本运行的时间也是一个因素。想知道管理控制台刷新这些表的频率如何。