我正在使用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)以獲取每個受管服務器上的堆統計信息。
我相信腳本運行的時間也是一個因素。想知道管理控制檯刷新這些表的頻率如何。