Eliminowanie błędów OutOfMemoryError podczas tworzenia profilu w systemie Solaris

Podczas tworzenia lub rozszerzania profilu produktu IBM® Business Monitor w systemie operacyjnym Solaris możliwe jest wystąpienie błędu braku pamięci (java.lang.OutOfMemoryError: PermGen space) i zawieszenie operacji tworzenia profilu. Aby uniknąć tego błędu lub go naprawić, może być konieczne ustawienie albo zaktualizowanie wartości parametru MaxPermSize wirtualnej maszyny języka Java (JVM) w co najmniej jednym pliku produktu IBM Business Monitor.

Komunikat o błędzie jest rejestrowany w pliku katalog_główny_serwera_aplikacji/logs/manageprofiles/wsadminListener.log i zwykle wygląda następująco:
  • Napotkano błąd podczas działania narzędzia wsadmin: PermGen space java.lang.OutOfMemoryError: PermGen space
Wskazówka: Choć testy wykazały, że wartość 256 MB jest wystarczająca do pomyślnego utworzenia lub rozszerzenia profilu, ze względu na zasoby systemu i wymagania konieczne może być ustawienie innych wartości parametru MaxPermSize. W poniższej procedurze użyto przykładowej wartości 256 MB.

Procedura

  1. W katalogu katalog_główny_serwera_aplikacji/profileTemplates/wbmonitor/actions otwórz plik addNodeMetadata.ant, odszukaj element <condition> i ustaw odpowiednią wartość parametru MaxPermSize:
    <condition property="wsadmin.jvmargs" value="-XX:MaxPermSize=256m" else="-Dwbm.var1.needed=TRUE">
  2. Opcjonalnie: zaktualizuj parametr MaxPermSize w następujących plikach .sh:
    1. W katalogu katalog_główny_serwera_aplikacji/bin otwórz plik launchWsadminListener.sh i zmodyfikuj wartość PERF_JVM_OPTIONS następująco:
      PERF_JVM_OPTIONS="-Xms256m -Xmx256m -XX:PermSize=256m -XX:MaxPermSize=256m" ;;
    2. W katalogu katalog_główny_serwera_aplikacji/bin otwórz plik WASPostUpgrade.sh i zmodyfikuj wartość PERF_JVM_OPTIONS następująco:
      PERF_JVM_OPTIONS="-Xms512m -Xmx768m -XX:PermSize=128m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:MaxPermSize=256m" ;;
    3. W katalogu katalog_główny_serwera_aplikacji/bin otwórz plik wsadmin.sh i zmodyfikuj wartość PERF_JVM_OPTIONS następująco:
      PERF_JVM_OPTIONS="-Xms256m -Xmx256m -XX:MaxPermSize=256m" ;;