JVM "drosseln"

Status
Nicht offen für weitere Antworten.
K

KartoffelKiffer

Gast
Hallo,

es ist ja eigentlich auch normal, die Virtuelle Maschine läuft bei einer größeren Applikation auf 100% CPU-Last. Ist es möglich diese auf bloß 50% zu beschrenken? Sodass maximal 50% der CPU-Last der JVM bereitgestellt werden, der Rest ist für andere Programme.

Mit Prioritäten wollte ich da nicht arbeiten, da es häufiger unter Windows schon Probleme gab. Unter Linux weiß ich gar nicht wie man dort Prioritäten verwaltet.

Also, kurze Frage, kann man der JVM bloß 50% der CPU zur Verfügung stellen? Arbeitsspeicher ist dabei irrelevant.




Mfg Tom
 

sparrow

Top Contributor
KartoffelKiffer hat gesagt.:
Unter Linux weiß ich gar nicht wie man dort Prioritäten verwaltet.

Der Befehlt heißt nice.
Mehr Informationen darüber gibt es durch die Eingabe von man nice auf der Konsole.

Du kannst einzelnen Threads innerhalb der VM eine Priorität zuweisen, allerdings hab ich keine Ahnung ob das auch für Thread "main" gilt. Falls doch hilft dir Thread.setPriority(int) weiter.

Gruß
Sparrow
 
K

KartoffelKiffer

Gast
Hi,

um es etwas genauer zu spezifizieren: Es geht um einen Apache Tomcat Webserver.
Auf dem Server existiert grundlegend, wenn der Tomcat ausgeführt wird, ein Java-Prozess. Dieser macht sich im Ruhezustand des Tomcat nicht bemerkbar.

Starte ich jedoch eine größere Webapplikation, so steigt die CPU-Last durch die Auslastung des Java-Prozesses auf 100%, solange die Applikation eben dauert.

Dies würde ich gern unterbinden, bzw auf 50% regeln, sodass der Server auch noch Ressourcen für andere Software offen hält. Teilweise dauert ein Prozess mehrere Sekunden, wodurch der Server buchstäblich brach liegt.




Mfg Tom
 

Leroy42

Top Contributor
Was verstehst du unter "Webapplikation"? Die ganze Session eines
Users mit diversen Serveranfragen? Dann hört sich das so an, als
ob dein Serverprogramm ständig läuft, also ohne Thread.sleeps
dauernd z.B. einen Status abfragt.
 
K

KartoffelKiffer

Gast
Hallo,

auf dem Tomcat Webserver liegen etliche JSP-Dateien. Wird eine Solche aufgerufen und ausgeführt, dauert die Bearbeitung etwas, da zum Teil größere Prozesse anlaufen.

Der Tomcat ist Java-Basiert, weshalb ständig ein Java-Prozess läuft, wenn auch der Tomcat läuft. Rufe ich nun eine JSP auf, und ein Prozess (eine Funktion) startet, so schaukelt sich der Java-Prozess auf die 100% CPU-Auslastung.




Mfg Tom
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben