Die Ausführung von Java (SE) -Programmen ist unter Debian Wheezy zu langsam. Muss ich die JVM "abstimmen"?

1153
Barranka

Superbenutzer.

Ich habe ein Desktop-Programm geschrieben, um einen Simulationsprozess auszuführen (den Code hier nicht zu kopieren ... es ist ein ziemlich langes Programm). Wenn ich es auf einem MacBook Pro (Intel Core i7 2,2 GHz, 4 GB RAM) laufe, dauert es ungefähr eine Stunde. Wenn ich dasselbe Programm auf meinem Debian Linux-Desktop (Intel Core i7, 3,4 GHz, 8 GB RAM und Wheezy 64 Bit) ausführen, dauert es jedoch bis zu drei Stunden! Es ist genau das gleiche Programm! (Ich verwende übrigens JDK 8 von Oracle auf beiden Computern.)

Beim Googeln habe ich dieses Blog gefunden, in dem beschrieben wird, wie "große Seiten" unter Linux aktiviert werden können ... Ich habe genau das versucht, aber die Leistungssteigerung ist minimal. Bevor ich etwas tue, was ich bereuen kann, hätte ich gerne eine Anleitung:

  1. Die Aktivierung "großer Seiten" wirkt sich wirklich auf die JVM aus (insbesondere laufen Java-Programme besser)?
  2. Gibt es andere "Tunning" -Optionen, mit denen ich die Dinge beschleunigen kann? (Wie Sie oben sehen können, handelt es sich nicht um ein Hardwareproblem. Der Debian-Desktop fliegt buchstäblich, wenn ich einige andere komplexe Dinge durchführe ... aber Java-Programme ziehen einfach ... und ich möchte nicht, dass sie auf einem anderen neu geschrieben werden Sprache)

Danke im Voraus

1
Haben Sie andere CPU-intensive Tasks, die auf dem Debian-System im Hintergrund ausgeführt werden? Wyzard vor 10 Jahren 0
@ Wyzard None (das ist mir bekannt) ... Die CPU-Auslastung beim Ausführen des Java-Programms beträgt etwa 3 bis 5 Prozent Barranka vor 10 Jahren 0
Sie sollten das Programm auf beiden Computern mit dem Befehl "time" ausführen. Dies gibt Ihnen die tatsächliche CPU-Zeit (im Gegensatz zur realen Welt), die das Programm beansprucht. Prüfen Sie, ob dies zwischen den beiden Computern ähnlich ist oder bei Debian viel länger. (Schauen Sie sich insbesondere die vom "time" -Programm gemeldeten "user" - und "sys" -Nummern an.) Wyzard vor 10 Jahren 1
Sind Sie unter Debian sicher, dass Sie die ausführbare Datei von Sun `java` aufrufen und nicht die Version von 'icedtea`? LawrenceC vor 10 Jahren 0
@ultrasawblade Der Befehl, den ich verwende, ist: `/usr/local/jdk8.0/bin/java -jar MyProgram.jar` ... also bin ich mir ziemlich sicher, dass ich den richtigen benutze;) Barranka vor 10 Jahren 0
Haben Sie Java 7 ausprobiert? Java 8 ist ziemlich neu und Regressionen sind nicht unvorstellbar. jjlin vor 10 Jahren 0

0 Antworten auf die Frage