Begrenzung der Speicher- und CPU-Auslastung der Java-Anwendung

8

Sagen Sie: "Führen Sie myApp.jar mit cpu = 800 und memory = 1024"

aus

Ich mache Java-Programmierung seit vielen Jahren und es ist peinlich, diese Frage zu stellen. Ich weiß nicht einmal, ob das möglich ist oder nicht. Und wenn ja, wie?

Was ich nur wissen möchte, ist, ob es möglich ist, den maximalen Speicher- und CPU-Verbrauch eines Java-Programms einzustellen. Ich habe plötzlich daran gedacht, weil ich vor kurzem begonnen habe, mobile Apps zu entwickeln. Ich möchte wissen, wie sich die App auf dem Gerät verhält, das nur sehr wenig Speicher und Prozessor hat.

Ich habe Physik-Engines mit Demo-Apps gesehen, die im Browser laufen oder ich auf meinem PC ausführen kann. Was passiert, wenn ich sie auf einem mobilen Gerät starte? Wird die Leistung gleich sein? Anstatt eine mobile Beispielanwendung zu entwickeln, um die Leistung der Bibliothek zu testen, würde ich sie lieber mit einer bestimmten CPU und Arbeitsspeicher ausführen, indem ich zuerst meinen PC verwende.

Ich habe übrigens versucht zu googeln ... alles, was ich gefunden habe, war Überwachung und Performance-Tuning. Ich verwende möglicherweise falsche Schlüsselwörter.

    
demotics2002 10.02.2011, 01:32
quelle

4 Antworten

8

Sie können die Speicherbelegung durch die Option -Xmx begrenzen, und Sie können die CPU-Auslastung begrenzen, indem Sie die Priorität der Prozess- und / oder CPU-Affinität festlegen.

    
bestsss 10.02.2011, 01:35
quelle
2

Die JVM hat keine Kontrolle über CPU-Nutzung oder Priorität.

JVM hat die Kontrolle über die maximale / minimale Speicherbelegung.

Es gibt eine Problemumgehung. Es ist möglich, jede JVM in einem separaten Docker container . Und steuern Sie die Ressourcenzuweisung (Speicher, CPU, Netzwerk, IO) für jeden Container. Das ist genau der Mehrwert der Docker-Container.

    
Dudi Boy 14.09.2017 14:26
quelle
1

In diesem Szenario kann es hilfreich sein, die App auf einem mobilen Emulator (z. B. Android) auszuführen.

Damit können Sie ein mobiles Gerät mit bestimmter CPU / Speicher emulieren. Sie sollten also Leistung bekommen, die mit einem Gerät vergleichbar ist, das eine langsamere CPU und weniger RAM hat.

Android / Nokia Emulator sind kostenlos und können in den Entwicklerbereichen von Nokia / Google-Sites heruntergeladen werden.

    
Shamit Verma 14.03.2011 08:30
quelle
0

Ссылка jcgroup ist Ihre beste Wahl. Sie können diese Bibliothek verwenden, um die CPU-Anteile, die E / A-Geschwindigkeit der Festplatte, die Netzwerkbandbreite usw. zu begrenzen.

    
haosdent 02.02.2014 08:21
quelle