java ram

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
thoys
Beiträge: 349
Registriert: 11.08.2008 22:21:24
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

java ram

Beitrag von thoys » 19.07.2010 18:06:01

hi zusammen,

seit längerem hab ich das Program, dass mein swap ordentlich ausgelastet wird.

ich hab euch hier mal nen screenshot von htop

http://gallery.debianforum.de/d/26460-1 ... ian_+_.png


könnte ich nicht einfach java weniger ram zuweisen?

Wenn ja: wie geht das??

Grüße und danke

Thoys

Milbret
Beiträge: 827
Registriert: 26.05.2008 12:04:54
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Nörten-Hardenberg
Kontaktdaten:

Re: java ram

Beitrag von Milbret » 19.07.2010 20:36:32

Weniger RAM ist bei Java so eine Sache.
Was ggf. helfen könnte wäre erst einmal den gesamten Befehl, der bei htop steht, zu zeigen.
Man könnte mal versuchen den Garbage Collector zu wechseln.
Das kann schon krasse Auswirkungen auf die Speichernutzung haben.

Du kannst noch per -Xmx200m oder einer höheren/niedrigerem Wert der VM sagen wieviel RAM genutzt werden dürfen bis eines OutOfMemoryException geworfen wird.
Dabei wird dein Programm mangels Speicherbegrenzung abgeschossen wenn es mehr als den angegeben RAM nutzen möchte.
Ich gehe mal davon aus, dass einfach ein Wechsel des Garbage Collector helfen kann.

Bei deiner aktuellen Kiste, die wirklich schon arg betagt zu seinen scheint, würde ich definitiv den GC umstellen.

Hier mal eine Seite die dir ein paar Optionen empfiehlt.
Ist zwar schon älter kann aber ggf. noch helfen.

http://www.folgmann.de/en/j2ee/gc.html

Ich würde die Optionen -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy als erstes testen.
Die können den Speicher ordentlich runterhauen.
Aber sonst wäre eben noch der gesamte Befehl wichtig.

Edit:
Schon einmal versucht von SUNs Java auf das OpenJDK umzusteigen?
Die Möglichkeiten sind übrigens gleich das alles von SUNs Java in das OpenJDK einfließt.
Ist aber nur eine Empfehlung, da ich damit seit über 2 Jahren zufrieden unter Debian arbeite.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever :D

Benutzeravatar
thoys
Beiträge: 349
Registriert: 11.08.2008 22:21:24
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: java ram

Beitrag von thoys » 19.07.2010 23:18:03

Hi

vielen Dank, ich werd mich mal mit dem garbage collector beschäftigen. Soweit ich weiss, funktioniert openfire (xmpp server) mit dem java von sun.

Das ist ne virtuelle Maschine auf dem nagelneuen Dell Server von einem Freund. Kommst du "nur" wegen den Werten - also wie viel Ram er hat usw - drauf oder gibt es noch andere Hinweise die ich vielleicht beheben kann.

Danke Thoys

Milbret
Beiträge: 827
Registriert: 26.05.2008 12:04:54
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Nörten-Hardenberg
Kontaktdaten:

Re: java ram

Beitrag von Milbret » 20.07.2010 21:22:37

Man kann auf deinem Screenshot gut erkennen, dass die Anwendung einfach zu viel Speicher zieht.
Dies deutet entweder auf eine saumäßige Programmierung ohne Optimierungen hin oder einfach nur auf den Einsatz eines falschen Garbage Collectors.
Der richtige Garbage Collector kann die schon ordentlich Speicher freischaufeln.

Bei meiner eigenen Backup Lösung in Java schafft der Default GC es nicht, den Speicher optimal freizubekommen.
Somit springt der Speicher locker mal auf 800mb+ hin.
Eine Umstellung auf den Paralellen GC schafft es den Speicher auf unter 150 MB zu drücken.
Der Garbage Collector ist also dein Freund wenn es um Speicherschonung geht.
Mit dem richtigen kannst du viel Plus machen.

Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever :D

Benutzeravatar
thoys
Beiträge: 349
Registriert: 11.08.2008 22:21:24
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: java ram

Beitrag von thoys » 21.07.2010 22:58:13

Dann werd ich meinem neuen Freund mal hallo sagen (nach der Klausur am Freitag)

Vielen Dank euch beiden

Thoys

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: java ram

Beitrag von michaels » 22.07.2010 11:59:28

Die Verwendung des richtigen GC ist aber sehr von der Anwendung abhängig.

Warum verbraucht denn die Anwendung wahnsinnig viel Speicher!?
Wenn ich die Ausgabe richtig deute, sind es pro Prozesse ca. 52MB. Die Frage wäre wohl eher, müssen so viele Prozesse davon laufen?

Wird der Server so gut genutzt (sind so viele Connections offen)?

Sehe ich das richtig, dass der Server gerade mal 246MB RAM hat? Wirklich viel ist das natürlich auch nicht...

Benutzeravatar
thoys
Beiträge: 349
Registriert: 11.08.2008 22:21:24
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: java ram

Beitrag von thoys » 22.07.2010 21:42:21

Das stimmt mit dem wenig ram, ich mach mich mal schlau.

Das ist openfire. Es sind ungefähr 10 user maximal gleichzeitig online. und 7 server oder so.

Also von viel kann man nicht sprechen.

Wenn man bei openfire einfach weniger Ram einstellen könnte wäre es natürlich am schönsten.

Morgen ist meine letzte Klausur dann setz ich mich mal richtig ran, vielen Dank

Thoys

Benutzeravatar
thoys
Beiträge: 349
Registriert: 11.08.2008 22:21:24
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: java ram

Beitrag von thoys » 27.07.2010 01:44:09

Hi,

also irgendwie gibt es verdammt wenig infos für nicht-totale-freaks

Wie muss ich die Sache denn jetzt angehen um einen neuen garbage collector zu installieren?

Danke

Thoys

Antworten