У нас есть компьютер серии IBM P, работающий под управлением AIX 5.3. Это наш сервер приложений, посредством которого наше приложение J2EE работает на сервере приложений Oracle (версия 10g r2). Примерно с 23:00 до 7:00 следующего дня у нас работают сценарии оболочки, которые запускают программы класса Java.
В последнее время на этом сервере наблюдается высокий уровень использования памяти, из-за чего некоторые программы класса Java выдают исключение «Недостаточно памяти».
Обычно мы используем NMON для мониторинга ресурсов сервера, таких как ЦП, ввод-вывод, память и т. Д. Но из-за этой проблемы OOM мы хотели бы знать в течение дня, какие процессы выполняются и сколько памяти каждый процесс израсходован.
NMON не может этого показать. Даже с параметром «-T» он показывает только основные процессы, а не все.
Есть ли что-нибудь, что мы можем использовать для мониторинга памяти всех процессов?
WLM (WorkLoad Manager) выполнит свою работу, посмотрите: https://www.ibm.com/developerworks/aix/library/au-Practical_WLM.html http://www.redbooks.ibm.com/abstracts/sg245977.html
Я не специалист по AIX, но ipcs может помочь.
ipsc -bom покажет вам активный сегмент памяти с указанием его владельца и размера. Этого могло быть достаточно, чтобы определить, кто потребляет память.