Yacy startet nach längerem Crawl nicht mehr

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.

Yacy startet nach längerem Crawl nicht mehr

Beitragvon Icebreeze » Mo Okt 20, 2008 5:45 pm

Hallo zusammen

Erst einmal ein grosses Lob an die die Yacy entwickeln. Eine tolle Idee und die Umsetzung finde ich so weit (bis auf einige wenige Punkte) sehr gelungen.

Leider habe ich ein Problem das sich jetzt zum zweiten Mal wiederholt hat, gehe aber noch nicht davon aus das es sich um einen Bug handelt (eher das der Fehler vor dem Bildschirm sitzt :mrgreen: ).

Ich verwende Yacy 0.61_20081005_5248 für Windows (mit den Standardeinstellungen, ausser das ich Remotecrawls nicht erlaube) und hatte seit gestern abend den Crawler galoppieren lassen. Heute morgen um 5 Uhr lief Yacy noch und war auch noch "ansprechbar", aber jetzt ist tote Hose. Das Webfrontend lässt sich nicht starten und der Router leuchtet ruhig vor sich hin, sprich: da geht nichts.
Also habe ich Yacy ordnungsgemäss per bat beendet, den PC neu gestartet und festgestellt:
Yacy startet nicht mehr, es kommt beim Aufruf des Webfrontends ein zackiges "Seiten-Ladefehler. Verbindung fehlgeschlagen. Firefox kann keine Verbindung zu dem Server unter localhost:8080 aufbauen."

Javaw.exe genehmigt sich laut Task-Manager 31 MB Speicher, die CPU-Auslastung steht aber permanent bei 0%.

Seit gestern (aus dem Kopf raus was ich heute morgen gelesen hatte) crawlte Yacy 900'000 URLs und 300'000 Wörter, bei den verteilten Index habe ich etwas von 2-3 Millionen im Kopf, mehr weiss ich dazu aber auch nicht.

Wie kann ich Yacy wiederbeleben? Wie geschrieben, dieses Phänomen des Nichtmehrstartens hatte ich in einer sehr ähnlichen Konstellation schon einmal vergangene Woche (auch ein gestarteter Crawl, über 500'000 URLS etc.). Als einzige Abhilfe machte ich Yacy platt und installierte es neu, aber das kann nicht wirklich eine Lösung sein.

Danke für die Hilfe
IceBreeze
Icebreeze
 
Beiträge: 30
Registriert: Do Okt 16, 2008 6:37 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon Low012 » Mo Okt 20, 2008 6:04 pm

Mit wachsender Datenbank braucht YaCy auch etwas länger zum Starten. Die Datenbank meines Peers ist extrem groß (über 30 Mio. Wörter) und der braucht schon ein paar Minuten. Bei dir sollte es aber schneller gehen.

Was du mal testen könntest, wäre YaCy mit der dem Startskript startYACY_debug.bat zu starten und eventuell auftauchende Fehlermeldungen hier zu posten, damit wir genauer wissen, wo es haken könnte.
Zuletzt geändert von Low012 am Mo Okt 20, 2008 6:08 pm, insgesamt 2-mal geändert.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon bluumi » Mo Okt 20, 2008 6:07 pm

Als erstes empfehle ich mal Yacy mit dem debug batch zu starten nur um zu sehen ob sich gänzlich nichts mehr bewegt. Ich hat es auch schon, dass Yacy nach einem "abwürgen" deutlich länger benötigte zum Starten. Wie lange hast Du denn gewartet?
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon Icebreeze » Mo Okt 20, 2008 7:29 pm

Hallo

Danke für die schnellen Antworten.

@Low12

Ich hau mal alles rein
startYACY_debug.bat hat geschrieben:C:\DOKUME~1\REN~1\YACY>startYACY_debug.bat
Generated classpath:classes;htroot;lib\commons-fileupload-1.2.1.jar;lib\commons-
httpclient-3.1.jar;lib\commons-io-1.4.jar;lib\commons-logging-1.1.1.jar;lib\serv
let-api.jar;lib\svnRevNr.jar;lib\tar.jar;libx\bcprov-jdk14-139.jar;libx\bzip2.ja
r;libx\commons-codec-1.3.jar;libx\FontBox-0.1.0-dev.jar;libx\J7Zip-modified.jar;
libx\jakarta-oro-2.0.7.jar;libx\jmimemagic-0.1.0.jar;libx\jrpm-head.jar;libx\jsc
h-0.1.21.jar;libx\log4j-1.2.9.jar;libx\odf_utils_05_11_29.jar;libx\PDFBox-0.7.3.
jar;libx\poi-3.0-alpha2-20060616.jar;libx\poi-scratchpad-3.0-alpha2-20060616.jar
;libx\tar.jar;libx\tm-extractors-0.4.jar;libx\webcat-0.1-swf.jar;libx\xerces.jar

JRE Parameters:-Xms120m -Xmx120m -Djava.net.preferIPv4Stack=true
Priority:/BELOWNORMAL
****************** YaCy Web Crawler/Indexer & Search Engine ******************
**** (C) by Michael Peter Christen, usage granted under the GPL Version 2 ****
**** USE AT YOUR OWN RISK! Project home and releases: http://yacy.net/ ****
** LOG of YaCy: DATA/LOG/yacy00.log (and yacy<xx>.log) **
** STOP YaCy: execute stopYACY.bat and wait some seconds **
** GET HELP for YaCy: see http://www.yacy-websearch.net/wiki and forum.yacy.de **
*******************************************************************************
>> YaCy started as daemon process. Administration at http://localhost:8080 <<
[ YaCy v0.61, build 20081005 by Michael Christen / http://www.yacy.net ]
-------------------------------------------------------------------------------
STARTUP: Trying to load logging configuration from file C:\DOKUME~1\REN~1\YACY\D
ATA\LOG\yacy.logging
S 2008/10/20 20:02:48 STARTUP Java version: 1.6.0_07
S 2008/10/20 20:02:48 STARTUP Operation system: Windows XP
S 2008/10/20 20:02:48 STARTUP Application root-path: C:\DOKUME~1\REN~1\YACY
S 2008/10/20 20:02:48 STARTUP Time zone: UTC+0200; UTC+0000 is 1224525768562
S 2008/10/20 20:02:48 STARTUP Maximum file system path length: 255
I 2008/10/20 20:02:48 PLASMA This is the pro-version of YaCy
I 2008/10/20 20:02:51 PLASMA restoring dump for rwi heap 'index.dhtin.heap'
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at de.anomic.kelondro.kelondroRowSet.importRowSet(kelondroRowSet.java:86
)
at de.anomic.index.indexContainerHeap$heapFileEntries.next0(indexContain
erHeap.java:250)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContaine
rHeap.java:262)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContaine
rHeap.java:229)
at de.anomic.index.indexContainerHeap.initWriteMode(indexContainerHeap.j
ava:120)
at de.anomic.index.indexRAMRI.<init>(indexRAMRI.java:71)
at de.anomic.plasma.plasmaWordIndex.<init>(plasmaWordIndex.java:146)
at de.anomic.plasma.plasmaSwitchboard.<init>(plasmaSwitchboard.java:307)

at yacy.startup(yacy.java:224)
at yacy.main(yacy.java:1037)


Dabei dürfte er wohl hier
startYACY_debug.bat hat geschrieben:2008/10/20 20:02:51 PLASMA restoring dump for rwi heap 'index.dhtin.heap'
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at de.anomic.kelondro.kelondroRowSet.importRowSet(kelondroRowSet.java:86
)
at de.anomic.index.indexContainerHeap$heapFileEntries.next0(indexContain
erHeap.java:250)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContaine
rHeap.java:262)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContaine
rHeap.java:229)
at de.anomic.index.indexContainerHeap.initWriteMode(indexContainerHeap.j
ava:120)


drüber stolpern.

Wenn ich dann auf das Trayicon klicke kommt folgendes in der Console:
startYACY_debug.bat hat geschrieben:java.lang.ClassNotFoundException: java.awt.TrayIcon.MessageType
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at de.anomic.yacy.nativeTrayIcon.displayBalloonMessage(yacyTray.java:272
)
at de.anomic.yacy.yacyTray.trayClickAction(yacyTray.java:142)
at de.anomic.yacy.yacyTray.access$000(yacyTray.java:44)
at de.anomic.yacy.yacyTray$1.actionPerformed(yacyTray.java:65)
at java.awt.TrayIcon.processActionEvent(Unknown Source)
at java.awt.TrayIcon.processEvent(Unknown Source)
at java.awt.TrayIcon.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Hm, outofmemoryerror....

Ich schreib mal was der Taskmanager unter Systemleistung rausspukt:
insgesamt:
Handles 11000
Threads 510
Prozesse 53

Zugesicherter Speicher
687 MB
Grenzwert 2520 MB
Maximalwert 703 MB

Physikalischer Speicher
Insgesamt 1047 MB
Verfügbar 434 MB
Systemcache 566 MB

Kernelspeicher
Insgesamt 127 MB
Ausgelagert 101 MB
nicht ausgelagert 26 MB

Der PC ist ein P4 mit 2,8 GHz und 1 GB Ram, nicht mehr das aktuellste Modell aber bisher für meine Zwecke aussreichend.
An Programmen läuft nebst Avast nur noch ein einfacherer Terminplaner und ein paar spezielle Dienste, die aber Java nicht tangieren sollten.
Ich habe auch schnell vor dem Posting jetzt den PC runtergefahren und nach dem Neustart so ziemlich alles an Prozessen gekillt die Windows nicht wirklich braucht. Das Ergebnis das YACY nicht startet ist das gleiche.


@bluumi

Hatte seit dem ersten Post bis gerade eben gewartet, also ~90 Minuten. Das Ergebnis ist aber das gleiche. Das Frontend ist nicht aufrufbar, der von JAVAW.EXE belegte Speicher ist immer noch bei 31MB und die Prozessorauslastung für JAVAW.EXE bei 0%.

rgds
Icebreeze
 
Beiträge: 30
Registriert: Do Okt 16, 2008 6:37 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon Low012 » Mo Okt 20, 2008 8:14 pm

Man kann der Java Virtual Machine beim Start einen Wert geben, der angibt, wieviel Speicher maximal für ein Java-Programm benutzt werden darf. Standardmäßig darf ein Java-Programm, glaube ich, 64MB benutzen. Das reicht für YaCy nur in den seltensten Fällen aus, daher wird für YaCy beim Start ein höherer Wert festgesetzt (120MB). Dummerweise lässt sich dieser Wert für ein laufendes Java-Programm nicht mehr ändern. Dein Peer scheint für den Start mehr als 120MB zu benötigen. Da YaCy nicht mehr startet, kannst du die Größe des zur Verfügung stehenden Speichers auch nicht über YaCys HTML_oberfläche einstellen, sondern musst einen von diesen beiden Wegen gehen:

1. Du kannst in startYACY_debug.bat den Wert höher setzten. Dazu musst du in der Zeile
Code: Alles auswählen
set javacmd=-Xmx120m -Xms120m
die 120 beide Male durch einen höheren Wert (z.B. 256) ersetzen. Wenn YaCy damit startet, kannst du auf http://localhost:8080/PerformanceMemory_p.html den Wert ändern, damit der Wert auch beim Start mit dem normalen Startskript benutzt wird.

2. Im Verzeichnis DATA/SETTINGS in deinem YaCy-Verzeichnis sollte sich die Datei yacy.conf befinden. Darin musst du in den Zeilen
Code: Alles auswählen
javastart_Xms=Xms120m
und
Code: Alles auswählen
javastart_Xmx=Xmx120m
die Zahlen ändern und YaCy dann ganz normal starten. Danach solltest du auch nichts mehr einstellen müssen.

Ich denke, 256MB sollte erstmal ausreichen und deinen PC trotzdem nicht übermäßig belasten. Vielleicht reicht ja auch viel weniger aus. Wenn es wie oben beschreiben funktionieren sollte, kannst du ja auch ein bisschen mit verschiedenen Werten experimentieren, ohne dass du YaCy nicht mehr gestartet bekommst.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon Phiber » Di Okt 21, 2008 7:15 am

Was wohl einfach noch anzumerken ist, 900'000 Links ist ja schon etwas gar viel. Da bist du je nach Computer dann aber locker mal 2-6 Monate dran die abzuarbeiten. Weiter ist das mit dem RAM dann auch verständlich, bei mir mit im Moment 130k Links in der Crawl-Queue macht die responseHeader.heap (das müsste die Datei mit all den Links sein) ~80MB aus. Vermute stark, dass er die komplett einliest damit der Balancer auch gut die URL's zum crawlen vorgeben kann. Darum vielleicht mal mit 50k Links versuchen statt 500-1000k, alles hat seine Grenzen, selbst wenn YaCy noch 10x verbessert wird und die Mathematiker für alle Probleme nen noch besseren Algorithmus finden würden, usw. ;)
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon Icebreeze » Di Okt 21, 2008 7:01 pm

Hallo

@Low12

Mit 768 MB kappt es, 512 MB und 256 waren wohl zu wenig. Danke für den Tipp.

Dafür sieht man im Debugmode (bei 768 MB) ein wenig was unter der Haube abgeht ;)
Hab das bei startYACY.bat auch mal nachgetragen und es funktioniert so weit.

@Phiber
Die 900000 Links bezogen sich auf die schon gecrawlten. Die Crawl-Queue beträgt momentan knapp 40000. Hm, wo kann man die maximale Queue-Grösse ein wenig begrenzen? Der PC ist mit den 768 MB nicht mehr so ganz flott wie bis anhin :mrgreen:

rgds
IceBreeze
Icebreeze
 
Beiträge: 30
Registriert: Do Okt 16, 2008 6:37 pm

Re: Yacy startet nach längerem Crawl nicht mehr

Beitragvon bluumi » Di Okt 21, 2008 7:18 pm

Icebreeze hat geschrieben:Mit 768 MB kappt es, 512 MB und 256 waren wohl zu wenig.

Der PC ist mit den 768 MB nicht mehr so ganz flott wie bis anhin :mrgreen:


Je Nachdem wieviel RAM Dein PC hat, würde ich Dir empfehlen nicht über 50% des RAM's für Yacy zu benützen. Meine Kiste mit 2Gbyte RAM hatte ich anfangs auch 1.3GB für Yacy. Inzwischen bin ich aber auf 800MB zurück und "verschwende" lieber mehr ram für Hdd-Caching vom OS aus.
Falls Du also nur 1GB hättest, währen 768MB für Yacy zuviel, bzw. eher für OS zu wenig. Aber die Ideale Waage zu halten ist in der Tat nicht einfach und mir auch noch längst nicht klar, je nach Perf.Settings kann man sich ja viel verhauen :mrgreen:
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am


Zurück zu Fragen und Antworten

Wer ist online?

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

cron