Створіть дамп динамічної пам’яті, дамп ядра Java та системи в WebSphere

Одним з ключових завдань, що постають перед системним адміністратором, є генерація дампів системи, ядра Java, а також дампу пам’яті в WebSphere Application Server.

Зазвичай, ця процедура необхідна під час діагностики проблем програмного забезпечення, для аналізу збоїв в роботі застосунку або інфраструктури.

Існує два шляхи для створення цих дампів: використання консолі адміністрування WAS або командний рядок. Вибір методу залежить від ваших персональних вподобань.

1. Генерація дампів через адміністративну консоль WebSphere

  • Авторизуйтесь в консолі DMGR.
  • Перейдіть до розділу “Усунення несправностей” в лівій частині меню.
  • Оберіть пункт “Дампи та ядра Java”.
  • Зі списку доступних JVM оберіть ту, для якої потрібно згенерувати дамп, та натисніть відповідну кнопку.

Згенерований дамп, разом з ядром, буде збережено у директорії профілю WebSphere. Повний шлях до файлів буде відображено в повідомленні.

2. Генерація дампів через командний рядок

  • Увійдіть на сервер WAS.
  • Перейдіть до каталогу профілю, а потім до підкаталогу bin.
  • Запустіть файл wsadmin.sh.
[[email protected] bin]# ./wsadmin.sh
WASX7209I: З'єднання з процесом "dmgr" на вузлі localhostCellManager01 за допомогою з'єднувача SOAP; Тип процесу: DeploymentManager
WASX7029I: Для допомоги введіть: "$Help help"
wsadmin>
  • Встановіть ім’я JVM в змінну.
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

Зверніть увагу: на прикладі використано “server1”. Замініть це значення на реальну назву вашої JVM.

wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0
wsadmin>

Створення дампу пам’яті

$AdminControl invoke $jvm generateHeapDump

Ця команда створить дамп пам’яті та покаже шлях до згенерованого файлу.

wsadmin>$AdminControl invoke $jvm generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd
wsadmin>

Створення Java Core

$AdminControl invoke $jvm dumpThreads

Ця команда ініціює генерацію дампу потоків, який також буде збережено в каталозі профілю.

Як бачите, процес генерації дампів є доволі простим. Аналіз цих файлів – це вже інше, але не менш захопливе завдання. Слідкуйте за моєю наступною публікацією, де ми розглянемо методи аналізу дампів для ефективної діагностики програмних помилок.

Чи сподобалась вам ця стаття? Поділіться нею з іншими!