Одним з ключових завдань, що постають перед системним адміністратором, є генерація дампів системи, ядра 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
Ця команда ініціює генерацію дампу потоків, який також буде збережено в каталозі профілю.
Як бачите, процес генерації дампів є доволі простим. Аналіз цих файлів – це вже інше, але не менш захопливе завдання. Слідкуйте за моєю наступною публікацією, де ми розглянемо методи аналізу дампів для ефективної діагностики програмних помилок.
Чи сподобалась вам ця стаття? Поділіться нею з іншими!