wrapper.cpu.timeout

Kompatibel :2.2.8
Editionen :Professional EditionStandard EditionCommunity Edition
Betriebssysteme :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

WARNING

Bitte ändern Sie NICHT irgendeinen dieser Parameter, wenn Sie nicht die Beschreibung zu dieser Eigenschaft gelesen haben. Inkorrekte Einstellungen können zur Folge haben, dass der Wrapper nicht mehr wie erwartet funktioniert.

NOTE

Diese Eigenschaft wird ignoriert, außer wenn wrapper.use_system_time=TRUE eingestellt ist.

Wenn wrapper.use_system_time=FALSE ist, können ähnliche Benachrichtigungen bezüglich Änderung in der Systemzeit und Verzögerungen aufgrund von hoher Datenlast durch Nutzung der wrapper.timer_fast_threshold und wrapper.timer_slow_threshold Eigenschaften geloggt werden.

Die JVM wird nach einer Anzahl von Sekunden ohne CPU-Zugriff eine Warnung ausgeben und Timeouts verlängern. Damit diese Eigenschaft aktiv wird, muss diese einen Wert kleiner als die anderen Timeout-Eigenschaften haben. (wrapper.startup.timeout, wrapper.ping.timeout, und wrapper.shutdown.timeout). Das Einstellen dieses Eigenschaftswertes auf "0" (Null) bedeutet, dass die Timeouts niemals verlängert werden.

Der Standardwert ist "10 Sekunden".

Beispiel: (10 Sekunden)
wrapper.cpu.timeout=10

Wenn der Wrapper feststellt, dass ihm der Prozessorzugriff für einen längeren Zeitraum verweigert wurde, können Sie Nachrichten, wie die Folgende, vom Wrapper, von der JVM, oder von beiden sehen.

Logbeispiel:
INFO   | wrapper  | Wrapper Process has not received any CPU time for 27 seconds.
                    Extending timeouts.
INFO   | jvm 1    | JVM Process has not received any CPU time for 27 seconds.
                    Extending timeouts.

Diese Nachrichten sind Warnmeldungen, dass in diesem Fall beiden, dem Wrapper und dem JVM-Prozess, der Zugriff auf den Prozessor für einen Zeitraum von 27 Sekunden, verweigert wurden. Abhängig von dem gegenwärtigen Status des Wrappers, wird jeder der Timeouts für das Starten, Pingen oder das Beenden verlängert, um einen FALSCHEN Timeout aufgrund eines Mangels an Prozessorleistung zu vermeiden.

Es gibt zwei Fälle, wo entweder dem Wrapper oder seiner kontrollierten JVM der Zugriff auf den Prozessor für einen verlängerten Zeitraum verweigert werden könnte. Entweder könnte es dazu führen, dass der Wrapper denkt, dass die JVM hängen würde, mit der Folge, dass diese neu gestartet oder heruntergefahren würde, weil einer oder mehrere Timeouts abgelaufen wären.

Der erste Möglichkeit, warum dies auftreten kann, ist die, dass, der Wrapper mit einem anderen Prozess um Systemressourcen konkurriert, was gewöhnlich zum Verbrauch von 1oo% Prozessorkapazitäten über längere Zeiträume führen kann, ohne dass diese an andere Prozesse abgegeben würden. Die meisten modernen Betriebssysteme sind im Umgang mit Multitasking ziemlich gut. Aber es gibt immer noch Fälle, wo es misslingt. Ein Beispiel unter Windows für dies, ist, wenn die Maschine unter Speicherknappheit leidet, was zu zahlreichen Speicherauslagerungen führen kann. Wenn der Gesamtspeicher nicht genügend groß ist, kann das gesamte System z.B. für ca. 1 Minute eingefroren sein, bevor irgendeiner Anwendung wieder Prozessorzeiten gegeben werden.

In den meisten Fällen, wenn Sie Probleme mit Prozessor-Timeouts haben, sollten Sie wirklich nach einer Problemlösung für den Wrapper sehen statt die Timeout-Zeiten auszudehnen. Wenn die Anwendung, die vom Wrapper ausgeführt wird, keine Prozessorkapazitäten bekommt, dann ist dieser nicht imstande, zuverlässig den Kundenwünschen zu entsprechen.

Eine zweite Möglichkeit ist die, wenn das System hängt und dann den Betrieb fortsetzt. Dies ist ein bekannte Situation bei Notebooks. Wenn das System wieder online ist, dann erscheint das System plötzlich um möglicherweise mehrere Stunden vorangestellt.

Standardmäßig erscheinen Warnmeldungen nach 10 Sekunden, was tatsächlich etwas lange ist. Der ausgelöste Prozessor-Timeout hat keine weiteren nachteiligen Auswirkungen auf eine Anwendung außer die, dass die Nachricht in den Logs erscheinen. Um zu vermeiden, dass die Nachricht geloggt wird, kann der Timeout auf einen größeren Wert gesetzt werden oder komplett deaktiviert werden.

WARNING

Während die Fähigkeit existiert, seien Sie sich bewusst, dass das Einstellen des Eigenschaft-Werts auf "0" (Null) (= Timeout deaktivieren) oder eines größeren Werts als ein anderer Timeout, bewirken könnte, dass ein Timeout in Fällen einer starken Systemlast falsch ausgelöst wird. Dies kann dazu führen, dass die JVM neu gestartet wird, selbst dann, wenn ein Neustart nicht wirklich notwendig ist.

Verweis: Timeout