Убить приложение, которое было поймано OutOfMemoryError - PullRequest
1 голос
/ 01 июня 2011

У меня есть weblogic в среде Solaris 10. Мое приложение было перехвачено OutOfMemoryError.

Мой вопрос об уничтожении неверной сборки приложения из сценария оболочки, а не о настройке Java или моего кода.

В Linux / BSD и Windows я могу сделать pgrep для моего конкретного приложения и выполнить kill -SIGTERM, а затем kill -SIGKILL. Но в SunOS я не могу их pgrep (ps (1) возвращает только первые 80 символов).

Кто-нибудь знает, как сделать это, не выпивая чашку или слишком много кофе между перераспределением?

Ответы [ 2 ]

1 голос
/ 03 июня 2011

Если вы хотите получить более 80 символов из вывода ps, вы можете использовать /usr/ucb/ps -alxww

1 голос
/ 01 июня 2011

используйте параметр JVM -XXexitOnOutOfMemory для виртуальной машины JRockit или -XX:OnOutOfMemoryError="kill -9 %p" для Sun JVM.Это необходимо добавить к аргументам JVM запуска контейнера weblogic.

Также см. Примечание Metalink 1074735.1 для получения списка всех нестандартных опций JVM JRockit JVM

...