Wir haben eine JRE in unserer Produktionsumgebung installiert, aber kein JDK. Die Versionen von JRE und OS sind unten aufgeführt.
%Vor%Es scheint nicht so, als wäre das "jmap" -Tool irgendwo auf dem System vorhanden, und ohne Root-Zugriff bin ich nicht in der Lage, es an irgendeinem Systemstandort zu installieren. Was kann ich tun, um einen Heap-Dump (d. H. Eine .hprof-Datei) zu erstellen?
Außerdem verwenden wir JBoss 7.1.3.AS, wenn das wichtig ist.
Integrierte Tools wie jmap
, jconsole
und jvisualvm
sind nur in einem JDK verfügbar. Eine weitere Option ist das Hinzufügen des VM-Arguments -XX:+HeapDumpOnOutOfMemoryError
, das der JVM mitteilt, dass bei Auftreten eines OutOfMemoryError automatisch ein Heap-Dump und das Argument -XX:HeapDumpPath
den Pfad für den Heap-Dump angibt.
Wenn Sie Ihre JRE nicht auf Tools wie die im JRE 7 des Servers aktualisieren können ( Ссылка ), müssen Sie möglicherweise Drittanbieter-Profiling-Tools wie JProfiler berücksichtigen oder die Liste hier .
Der einzige Weg scheint zu sein, Ihr lokales SDK6 zu komprimieren und irgendwo auf den Server zu stellen. Öffnen Sie dann eine Remote-Konsole und laden Sie die JRE aus dem Verzeichnis bin des SDK.
Wenn Ihr Kunde das Hochladen von ausführbaren Dateien verbietet, haben Sie natürlich kein Glück.