Diskussion über (vermeintliche) Speicherprobleme

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Diskussion über (vermeintliche) Speicherprobleme

Beitragvon datengrab » Fr Jun 27, 2008 11:42 pm

Diskussion abgesplittet von viewtopic.php?f=5&t=1289


Orbiter hat geschrieben:Wie kommt ihr immer nur auf Speicherprobleme?

Indem man öfters mal ein Blick auf PerformanceMemory_p.html wirft und die Kurve dort eine konstante Tendenz nach oben hat. Es hilf dann auch nicht das crawlen abzuschalten, der genutzte Speicher bleibt auf einem verhältnissmäßig hohen Limit. Nach einem Neustart von yacy sind es dann teilweise mehrere hundert MB weniger. Ob das oben beschriebene Problem wirklich etwas mit Speicherplatzproblemen zu tun hat ist auf Grund der Beschreibung der Symptome natürlich sehr spekulativ ;) und folglich ist die Diskussion dazu hier evtl. etwas fehl am Platz.
datengrab
 
Beiträge: 366
Registriert: Sa Aug 25, 2007 7:22 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon Orbiter » Fr Jun 27, 2008 11:51 pm

ahem, die Kurve beim Speicherverbrauch soll immer nach oben gehen! So ist das mit dem Garbage Collection, der findet nur dann statt wenn der Collector meint das es ein guter Moment ist. Wenn die Kurve immer weiter hoch geht heisst das nicht dass der Speicher knapp wird, sondern nur das der GC noch nicht wieder frei geräumt hat. Eine Speicherknappheit liegt nur dann vor, wenn nach einem GC der Speicher noch fast genau so knapp ist wie vorher. Die Speichergrafik ist ja kein Aktienchart. also:
lange Zickzack mit großem Hub (auch bis zum Limit!): system ist gesund
kleine Zickzack kurz unter Speichergrenze: Speicher voll

datengrab hat geschrieben:Indem man öfters mal ein Blick auf PerformanceMemory_p.html wirft und die Kurve dort eine konstante Tendenz nach oben hat.

das ist total in Ordnung, wenn es denn am Ende, auch nach Ausnutzung des gesamten Speicherbereichs, wieder nach unten geht.

um es nochmal zu wiederholen: Halborinda hat nichts dazu geschrieben. Er hat vollkommen andere Symptome beschrieben.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Server nicht erriechbar, aber arbeitet

Beitragvon thq » Fr Jun 27, 2008 11:57 pm

Orbiter mehr als dich darauf hinweisen kann man nicht. Ich habe bei mir die Speicherverwaltung und andere Dinge geändert und habe seit dem keine Problem mehr. Außerdem geht es hier nur indirekt um Speichermangel sondern mehr um den Zeitpunkt wann YaCy Speicher freigibt. Wenn du meinst das hier kein Problem besteht obwohl hier Leute mit mehr als genug Speicher Probleme haben, ok, du musst es ja wissen. Viel Spaß beim suchen ;)
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon Orbiter » Sa Jun 28, 2008 12:00 am

ich sehe hier nur eine Fehlinterpretation der Speichergrafik und ein Ignorieren von Symptomen von Halborinda. Es geht nicht darum was du in deinen Speichergrafiken siehst. Es geht um Halborinda.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Server nicht erriechbar, aber arbeitet

Beitragvon datengrab » Sa Jun 28, 2008 12:10 am

Orbiter hat geschrieben:
datengrab hat geschrieben:Indem man öfters mal ein Blick auf PerformanceMemory_p.html wirft und die Kurve dort eine konstante Tendenz nach oben hat.

das ist total in Ordnung, wenn es denn am Ende, auch nach Ausnutzung des gesamten Speicherbereichs, wieder nach unten geht.

Und das geht es halt nicht. Deswegen habe ich ja auch Tendenz geschrieben. Das der GC aktiv wird wenn der Speicher knapp wird bzw. alle zehn Minuten zyklisch ist mir bekannt.

Wenn ich meinen Peer momtenan zwei bis drei Tagen laufen habe und in dieser Zeit auch noch crawle, haben sich die Berge und Täler insgesamt ein gewaltiges Stück nach oben bewegt. Und auch wenn ich den GC von Hand starte bleibt der freie Speicher nach dem GC-Lauf teils um mehrere hundert MB geringer, als wenn ich den Peer neu starte und die Startphase komplett abgeschlossen ist. Ob das ein Fehler von yacy oder doch der Java-VMs ist kann ich nicht beurteilen. Es ist halt nur eine Beobachtung. Und nach ein paar Änderungen an yacy vor zwei, drei (?) Wochen ist die Situation insgesammt viel besser geworden und ich für meinen Teil kann derweil gut damit leben. Ich starte meinen Peer etwa alle zwei Tage neu und habe in der zwischenzeit keinerlei Probleme mehr - hierfür übrigens auch noch mal mein dickes Lob und Danke!

Und da das ganze hier total nix mehr mit dem eigentlichen Thema zu tun hat: bitte abtrennen und verschieben. Danke!
datengrab
 
Beiträge: 366
Registriert: Sa Aug 25, 2007 7:22 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon thq » Sa Jun 28, 2008 12:12 am

Ich habe nichts von einer Grafik gesagt, ich habe YaCy einfach über längere Zeit einfach genauer beobachtet wann und wie oft Objekte erzeugt wurden und wann und wie oft der GC aufgerufen wurde. Da habe ich angesetzt und habe bis jetzt kein OOM oder ein nicht reagieren von YaCy gehabt. Jetzt kannst du da auch ansetzen oder woanders suchen, ganz wie du möchtest.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon datengrab » Sa Jun 28, 2008 12:14 am

thq hat geschrieben:Ich habe bei mir die Speicherverwaltung und andere Dinge geändert und habe seit dem keine Problem mehr.

Das hast Du ja schon mehrfach geschrieben und ich wollte dich schon mehrfach fragen: Warum baust Du es dann nicht ein oder stellst es hier zu mindest vor (wenn Du es hier schon mal erläutert hast, ist es an mir vorbei gegangen und ich wäre für einen Link zu dem Thema dankbar).
datengrab
 
Beiträge: 366
Registriert: Sa Aug 25, 2007 7:22 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon thq » Sa Jun 28, 2008 12:24 am

datengrab hat geschrieben:
thq hat geschrieben:Ich habe bei mir die Speicherverwaltung und andere Dinge geändert und habe seit dem keine Problem mehr.

Das hast Du ja schon mehrfach geschrieben und ich wollte dich schon mehrfach fragen: Warum baust Du es dann nicht ein oder stellst es hier zu mindest vor (wenn Du es hier schon mal erläutert hast, ist es an mir vorbei gegangen und ich wäre für einen Link zu dem Thema dankbar).
Weil Nach ein updaten nichts mehr passt und ich keine Zeit habe alles von Hand zusammen zu basteln. Aber viel mehr fehlt mir die Lust weil sich YaCy schon länger in einer Richtung entwickelt die mir nicht mehr so gefällt. So probiere ich nur für mich noch ein paar Dinge aus und solange sich die Peers ja auch noch finden dürfen die ja auch von einander profitieren. So gesehen habe ich schon mit YaCy abgeschlossen, bin aber überzeugt das ein P2P-Suche funktioniert auch wenn ich sowas nur mir einer Sprache machen würde die ohne einen GC auskommt.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon DanielR » Sa Jun 28, 2008 12:33 am

thq hat geschrieben:Das Problem ist alt und dürfte immer noch daran liegen das der GC in extrem Situationen nicht schnell genug Speicher frei gibt.

Bei viel Speicher sollte man die Größe der Young-Generation (des GarbageCollectors) erhöhen, bei mir läuft er mit 2.200 MB Speicher (wovon vmtl 1.600 mit Index belegt usw belegt sind ;) mit folgendem Wert ganz gut
Code: Alles auswählen
JAVA_ARGS="-server -XX:NewSize=150M -XX:+UseConcMarkSweepGC -XX:+UseAdaptiveSize
Policy -XX:+UseLargePages";

in der yacyStart.sh (nur das NewSize ist neu).

Den GarbageCollector kann man übrigens mittels
Code: Alles auswählen
jstat -gcutil <processID> 1000

jede Sekunde (1000 ms) abfragen. Der E (Eden) sollte dabei nicht zu schnell wachsen. Dabei ist der YGCT die Anzahl der "kleinen" GCs und FGCT die der "Full GC"s. Meiner Meinung nach sollte die Zahl der YGCT nur alle 2-10 Sekunden steigen. Bei mir warens aber zum Teil auch 3-5 pro Sekunde. Da wird meiner Meinung nach zu schnell Speicher frei gegeben [wenn man statt -gcutil nur -gc macht sieht man absolute Werte].

Allgemein finde ich den neuen GarbageCollector (welcher in startYacy.sh seit kurzem steht) besser :)
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon DanielR » Sa Jun 28, 2008 12:47 am

thq hat geschrieben:Ich habe bei mir die Speicherverwaltung und andere Dinge geändert und habe seit dem keine Problem mehr.

Schon schade, dass du anderen diese Problemfreiheit nicht gönnst :evil:
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Server nicht erriechbar, aber arbeitet

Beitragvon Halborinda » Di Jul 01, 2008 6:55 am

DanielR hat geschrieben:Bei viel Speicher sollte man die Größe der Young-Generation (des GarbageCollectors) erhöhen, bei mir läuft er mit 2.200 MB Speicher (wovon vmtl 1.600 mit Index belegt usw belegt sind ;) mit folgendem Wert ganz gut
Code: Alles auswählen
JAVA_ARGS="-server -XX:NewSize=150M -XX:+UseConcMarkSweepGC -XX:+UseAdaptiveSize
Policy -XX:+UseLargePages";

in der yacyStart.sh (nur das NewSize ist neu).
[...]
Allgemein finde ich den neuen GarbageCollector (welcher in startYacy.sh seit kurzem steht) besser :)


Das Problem mit manuellen Änderungen in der yacyStart.sh, dass diese beim nächsten Update durch eine neue yacyStart.sh überschrieben werden.

Könnt Ihr vielleicht solche Parameter auch DATA/SETTINGS/yacy.conf speichern und von dort aus auslesen?

Vielleicht als optionaler Parameter, wenn der dort nicht gesetzt ist, wird der default genutzt.

Vielleicht kann man das auch als Profile warten: Performance-Profile
Dort könnt Ihr erfahrungsgemäß gute Default-Werte für verschiedene Szenarien pflegen und somit nicht unbedingt total Tuning-süchtigen zur Verfügung stellen.

Grüße
Halborinda
 
Beiträge: 217
Registriert: Sa Jul 07, 2007 7:58 am

Re: Server nicht erriechbar, aber arbeitet

Beitragvon DanielR » Di Jul 01, 2008 8:57 am

Halborinda hat geschrieben:Das Problem mit manuellen Änderungen in der yacyStart.sh, dass diese beim nächsten Update durch eine neue yacyStart.sh überschrieben werden.

Nicht wenn man svn nutzt :D
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Diskussion über (vermeintliche) Speicherprobleme

Beitragvon Lotus » Di Jul 01, 2008 4:08 pm

Benenn die Datei einfach um, dann wird sie nicht überschrieben.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Diskussion über (vermeintliche) Speicherprobleme

Beitragvon Halborinda » Di Jul 01, 2008 6:04 pm

Lotus hat geschrieben:Benenn die Datei einfach um, dann wird sie nicht überschrieben.


Und wenn dann Änderungen an dem Script sind, die vielleicht Bugs beheben, bekomme ich das nicht mit. Hm... Lieber nicht...

Grüße
Halborinda
 
Beiträge: 217
Registriert: Sa Jul 07, 2007 7:58 am


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste