Мониторинг использования кучи Java на сервере Weblogic
Я наблюдаю за использованием кучи Java на всех управляемых серверах в Weblogic 10.3
использование домена WLST
, Я написал сценарий Jython для достижения этой цели. Этот скрипт сначала входит на сервер администратора в домене. Ниже приведен фрагмент кода, который выбирает статистику кучи для каждого управляемого сервера:
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
Мне интересно, почему есть несоответствие в том, что показывает консоль администратора и вывод приведенного выше кода. Я пытаюсь определить, ищу ли я правильное место и вызываю ли правильные вызовы методов ( перечисленные здесь в документации), чтобы получить статистику кучи на каждом управляемом сервере.
Я уверен, что время запуска сценария также является фактором. Было интересно, как часто консоль администратора обновляет эти таблицы.
1 ответ
Я не вижу ничего плохого в твоем подходе. Страница консоли администратора не будет обновляться автоматически, если вы не нажмете значок автообновления (две стрелки, образующие круг) в левом верхнем углу таблицы. По умолчанию интервал обновления составляет 10 секунд, но это можно установить на странице "Настройки" - ссылка находится на баннере каждой страницы.
Я пробовал как на сервере администратора, так и на управляемом сервере, и пока я выполнял код, близкий к обновлению, числа были связаны. Я могу только предположить, что сборка мусора выполняется между моментом, когда консоль отображала данные, и выполнялся ваш скрипт.