Zeit läuft rückwärts

Status
Nicht offen für weitere Antworten.

magomi

Neues Mitglied
Hallo allerseits,

das Umfeld: ich move gerade für einen Serverumzug mehrere Java-Applikationen von physischen Servern auf VMWare-Partitionen. Auf den Partitionen läuft ein RedHat Enterprise Linux 4. Gehostet wird auf einem ESX-Server.

In den Java-Applikationen wird fürs Performance-Monitoring relativ oft mit System.currentTimeMillis() die Systemzeit geholt. Danach werden die Zeiten verglichen und die Differenz als Ablaufzeit für einen speziellen Codeabschnitt irgendwo ausgegeben. Naturgemäß muss diese immer größer 0 oder max. (bei hinreichend kurzer Zeit zwischen den beiden Abfragen) gleich 0 sein. Wir haben aber nun den Fall, dass bei Aufrufen kurz hintereinander der zweite Aufruf einen Zeitstempel liefert, der vor (!) dem Zeitstempel des ersten Aufrufs liegt. Danach fliegt uns die Applikation um die Ohren.

Ich habe das Phänomen mit verschiedenen JDK-Versionen getestet (1.4.2_09, 1.4.2_13, 1.5.0_10). Es tritt auf den VMWare-Partitionen immer auf. Auf physischen Servern ist das nicht zu beobachten.

Deshalb meine Frage in die Runde ob jemand so ein hässliches Phänomen schonmal beobachtet hat und mir gegebenenfalls mit einem Tipp zur Eliminierung dieses Problems helfen kann.

Viele Dank schonmal, Marco

edit: JDK-Versionen berichtigt
 

Wildcard

Top Contributor
Durchaus möglich das es sich um einen Bug handelt.
Auch zB die WinXP API ist verbuggt, was dazu führt das zu häufiges Aufrufen von System.currentTimeMillis() die Systemzeit verstellt.
Lässt sich das mit System.nanoTime() reproduzieren?
 

magomi

Neues Mitglied
Wildcard hat gesagt.:
Lässt sich das mit System.nanoTime() reproduzieren?

Ja.

Habs gerade mal mit 'nem 1.5.0_10er JDK getestet. Hier mal der "Versuchsaufbau":
Code:
long startNS = System.nanoTime();
long start = System.currentTimeMillis();
while (true) {
     long currentNS = System.nanoTime();
     long current = System.currentTimeMillis();
     if (currentNS < startNS) {
         System.out.println(
                "======== " + (new Date()) + " =========\n" +
                "\tstartNS:   " + startNS + "\n" +
                "\tstart:     " + start + "\n" +
                "\t---------------------------------------------\n" +
                "\tcurrentNS: " + currentNS + "\n" +
                "\tcurrent:   " + current + "\n" +
                "===========================================");
    }
    start = System.currentTimeMillis();
    startNS = System.nanoTime();
}
Das Ergebnis ist eine unendliche Liste von Ausgaben folgender Art:
Code:
======== Sun May 13 15:32:53 MEST 2007 =========
        startNS:   1179063173330874000
        start:     1179063173330
        ---------------------------------------------
        currentNS: 1179063173330093000
        current:   1179063173330
===========================================
Ich hoffe nicht, dass das ein Bug im JDK ist. Denn wir haben keinerlei Möglichkeit an dem vorgegebenen Setup (RHEL auf VMWare und JDK 1.4.2) zu drehen. Und auf den Quellcode der Applikation (zumindest auf die Teile die da krachen) fehlt uns auch der Zugriff. Mist elender ;-)

Viele Grüße, Marco
 

Wildcard

Top Contributor
Nein, ich sehe den Bug eher auf seiten von VM-Ware.
Schließlich wird die API des Betriebssystems verwendet, welche wiederrum den CPU Takt verwendet.
Die Kommunikation mit der CPU läuft über VMWare, also würde ich das Problem dort vermuten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Berechnung der Zeit funktioniert nicht wie erwartet: Date, GregorianCalendar Allgemeine Java-Themen 16
F Zeit Optimierung - bzw. ms Optimierung Allgemeine Java-Themen 35
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
K CET-Zeit benutzen Allgemeine Java-Themen 6
K Geschätze Zeit implementieren Allgemeine Java-Themen 14
Blender3D AWT Fehlerhafte Zeit bei Calender und Date DateFormat Allgemeine Java-Themen 8
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
O Java Hardware Software Zeit Allgemeine Java-Themen 7
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
F Zeit ermitteln Allgemeine Java-Themen 2
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
R Raum und Zeit Allgemeine Java-Themen 11
S Zeit Allgemeine Java-Themen 4
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
T Methodenparameter zur Compile-Zeit überprüfen Allgemeine Java-Themen 8
J Lizenz auf Zeit Allgemeine Java-Themen 8
X Codeabarbeitung innerhalb des Hauptprogramms für bestimmte Zeit unterbrechen Allgemeine Java-Themen 2
prakdi Zeit zum Durchlauf der Schleifen unverständlich!? Allgemeine Java-Themen 3
A JavaVM Zeit Windows 7 Allgemeine Java-Themen 9
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
C Leerzeilen verbrauchen Zeit! Allgemeine Java-Themen 5
J Datum und Zeit Allgemeine Java-Themen 4
data89 Zeit-Diagramm erstellen Allgemeine Java-Themen 11
G JComboBox getSelectedItem Zeit Allgemeine Java-Themen 5
Kr0e Sekunden -> Zeit Allgemeine Java-Themen 14
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
B System CPU Zeit / Last auslesen Allgemeine Java-Themen 2
J zeit überscheidungen ermitteln Allgemeine Java-Themen 6
P Thread Demonstrationr eist durch die Zeit Allgemeine Java-Themen 4
A Compilierdatum/Zeit in Code eingenerieren Allgemeine Java-Themen 13
Kidao Wie ordne ich die aktuelle Zeit in einer Zeitreihe eine? Allgemeine Java-Themen 6
J zeit stoppen Allgemeine Java-Themen 11
M Zeit eines rechners im netzwerk ermitteln Allgemeine Java-Themen 6
B Aktuelle Zeit im Format YYYY-MM-DD HH-MM-SS in Logfile schre Allgemeine Java-Themen 8
C Umrechnung der Zeit Allgemeine Java-Themen 8
B 2 JList instanzen wo nur einer zur selben Zeit selektierbar? Allgemeine Java-Themen 8
I Thread eine bestimmte Zeit zur Ausführung geben Allgemeine Java-Themen 2
P Zeit messen Allgemeine Java-Themen 16
K Thread Safe Zeit Messung Allgemeine Java-Themen 2
D Programmunterbrechung für eine bestimmte Zeit (Millisikunden Allgemeine Java-Themen 10
K ServerSocket benötigt unmengen an Zeit Allgemeine Java-Themen 7
D Zeit messen Allgemeine Java-Themen 2
G try auf zeit Allgemeine Java-Themen 8
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Fortschritt: verbleibende Zeit errechen. Allgemeine Java-Themen 2
F Zeit errechnen mit GregorianCalendar Allgemeine Java-Themen 8
F vergangene Zeit berechnen Allgemeine Java-Themen 6
A Unix Zeit Allgemeine Java-Themen 2
D Datum und Zeit - Date, Calendar oder GregorianCalender ? Allgemeine Java-Themen 13
X Parameter bei Start über Batch-Datei übergeben(Tag und Zeit) Allgemeine Java-Themen 3
C Vergangene Zeit seit Anwendungsstart messen Allgemeine Java-Themen 5
T Zeit aufaddieren Allgemeine Java-Themen 3
T zeit in java Allgemeine Java-Themen 4
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
D Twitch API mit HttpURLConnection läuft nicht? Allgemeine Java-Themen 0
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S Korrekte Pfadangaben damit eine .jar Datei unter Windwos läuft. Allgemeine Java-Themen 24
E JavaFX RMI extrem langsam wenn Server nicht läuft Allgemeine Java-Themen 5
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
itwestnet Mein Java-Programm läuft nicht in China Allgemeine Java-Themen 4
P Anwendung läuft nur mit JDK Allgemeine Java-Themen 2
L Prog läuft in der IDE, hängt sich aber am Mac auf Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
C Anwendung läuft nicht auf Mac OS X Allgemeine Java-Themen 2
D Programm läuft fehlerhaft, finde den Fehler nicht Allgemeine Java-Themen 6
X Applet läuft nicht, Applet in Webseite einbinden Allgemeine Java-Themen 4
A runnable jar läuft mur auf einem pc1 und nicht auf pc2 Allgemeine Java-Themen 6
R Thread läuft nicht?! Allgemeine Java-Themen 7
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Methode läuft nicht unter UNIX Allgemeine Java-Themen 6
Bastie Selbstcompiliertes läuft nicht Allgemeine Java-Themen 8
W Java Applet läuft langsam Allgemeine Java-Themen 2
D Java läuft nicht richtig Allgemeine Java-Themen 12
D Api mit eine Methode die "immer" läuft bis "stop" "gerufen wird. Allgemeine Java-Themen 25
D Spielerwechsel über boolsche Werte läuft inkorrekt Allgemeine Java-Themen 6
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
C Programm das im Hintergrund läuft Allgemeine Java-Themen 2
N Scanner läuft nicht durch Allgemeine Java-Themen 2
T Gewährleisten das Applikation läuft!? Allgemeine Java-Themen 2
N Fehler abfang läuft doppelt durch Allgemeine Java-Themen 2
H Labels erstellen während Programm läuft Allgemeine Java-Themen 3
S Zeichen, dass Programm noch läuft Allgemeine Java-Themen 3
K [erledigt] JVM welche läuft Allgemeine Java-Themen 9
B Programm läuft unter Linux, aber nicht unter Windows Allgemeine Java-Themen 3
T Währungsrechner läuft nicht Allgemeine Java-Themen 11
V JAR-File läuft unter Windows und Linux, aber nicht unter OSX Allgemeine Java-Themen 6
J 2 Threads - aber nur einer läuft wirklich. Allgemeine Java-Themen 3
P läuft java 1.6 mit win me und 98 Allgemeine Java-Themen 4
G Läuft nicht unter Linux oO Allgemeine Java-Themen 10
M JVM Non-Heap läuft voll Allgemeine Java-Themen 4
L Java app läuft under win xp, automatisch auch unter vista32 Allgemeine Java-Themen 14
C externes Programm läuft erst nach schließen des mainprogramm Allgemeine Java-Themen 7
M Programm beendet - Thread läuft weiter Allgemeine Java-Themen 11
R Mein Applet läuft in der IDE aber nicht. Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben