[de] LanguageTool Performance Problem

Moin

Mir fällt immer mehr auf, dass das LanguageTool immer mehr Hardwareressource frisst und LibreOffice immer langsamer wird, je mehr Wörter ein Dokument hat.

Mit aktivierten LanguageTool: grafik

Ohne LanguageTool: grafik

Meine Vermutung ist, dass das LanguageTool das gesamte Dokument abscannt, was aus meiner Sicht nichtclever ist, weil mein Dokument über 600T Wörter hat und es immer mehr werden, weswegen der RAM-Verbrauch immer höher wird.

Man sollte die Möglichkeit einbauen, dass LanguageTool maximal 100T Wörter gleichzeitig abscannt und nur auf Bedarf das gesamte Dokument zu überprüfen.

Grüße euer Dallun511

Du hast recht mit deiner Vermutung, dass das LanguageTool das gesamte Dokument abscannt. Das ist auh notwendig um einige Fehler hinsichtlich konsistenter Schreibweise zu finden (also z. B. wenn an einer Stelle “Butler-Uniform” und an einer anderen “Butleruniform” geschrieben wird.).

Wenn dein Dokument so groß ist, wäre ist vielleicht auch zu überlegen, es in mehrere Dokumente (eins pro Kapitel) aufzuteilen.

@Fred.Kruse hatte ja zuletzt daran gearbeitet - Fred, hast Du das auch mit sehr großen Dokumenten getestet?

Dein Vorschlag, die Kapitel in einzehlene Dokumente aufzuteilen, ist eigentlich keine schlechte Idee, nur leider ist mein Problem ist, wenn ich eine bestimmte Stelle im Dokument suche, müsste ich jedes Dokument öffnen, um nur eine Stelle im Buch zu finden und ich habe 63 Kapitel, also während es 63 Dokumente, die ich einzehl absuchen müsste.

Ich könnte überlegen, statt jedes Kapitel in einzelne Dokumente aufzuteilen. Circa alle 10 Kapitel in neue Dokumente zu teilen, dann müsste ich nur noch 6 Dokumente durchsuchen, wenn ich eine Informationen brauche, aber das ist auch nicht der Brenner.

Ist es vielleicht möglich, dass das LanguageTool die komplette Leistung meines Systems sich zu nutzen machen, denn ich habe einen Octa Core Prozessor mit 4 Ghz und 16 GB RAM, also Power habe ich oder lässt das LibreOffice nicht zu, dass sich LanguageTool mehr Power zu weisen lässt, denn die CPU langweiligt sich, wie man im oberen Bild sehen kann.

Euer Dallun511

Wenn ich mich richtig erinnere, verbrauchte sein Dokument 6 GB RAM.

Mir ist aufgefallen, dass ein neues Kapitel maximal 500 MB RAM verbraucht und je größer das Kapitel, desto mehr RAM wird verbraucht und LibreOffice wird unstabiler, aber beendet man ein Kapitel und fängt ein neues Kapitel an, wird auch LibreOffice wieder stabiler.

Ich vermute, je mehr Wörter ein Kapitel über den Seiten hat, desto unstabiler wird LibreOffice und verbraucht mehr RAM.

Vorab: Aus persönlichen Gründen, werde ich mich in den nächsten zwei Wochen nicht an den Diskussionen beteiligen können und auch der anstehenden Frage nicht nachgehen können.

Tatsächlich habe ich an der LO-Extension Veränderungen vorgenommen, die die Anwendung speicherintensiver machen dürften. So muss bei der jetzigen Lösung der Text des Dokumentes (ohne Formatierungsinformationen) komplett gespeichert werden.
Hintergrund ist, dass die LO-Standardschnittstelle für Grammatikprüfungen nicht eine Analyse des ganzen Textes unterstützt, sondern maximal die Analyse eines einzelnen Absatzes. Wie oben bereits beschrieben, bezieht sich eine ganze Reihe von Regeln nicht nur auf einen Absatz sondern auf mehrere, bis hin zur Analyse des gesamten Textes. Hierzu habe ich andere Schnittstelle angezapft, und diese mit der Grammatikprüfung synchronisiert.
Dieses Vorgehen kostet Performance und Speicher. Allerdings kann ich mir die von Dallun dokumentierten Zahlen nicht erklären. Eine Verdoppelung des Speicherbedarfs wäre erklärbar, aber nicht eine Verzehnfachung.
Ich habe die Anwendung bisher standardmäßig mit einem 300 Seiten Dokument getestet. Dabei ist ein derart extremer Zuwachs an Speicherbedarf nicht aufgefallen.
Sobald meine private Situation es wieder zulässt, werde ich die Extension unter dem Blickwinkel des Speicherbedarfs erneut ausgiebig testen.

Dann erhole dich ein wenig, während du eine Auszeit nimmst.

Wenn du zurück bist und das hier liest.

Ich habe ein Dokument, was über 700 Seiten groß ist und täglich werden es mehr.
Ich wundere mich immer wieder, wenn ich ein neues Kapitel beginne, dass der RAM-Verbrauch und die Stabilität recht normal ist, aber beim fortschreiten des Kapitel steigt der RAM-Verbrauch und die Stabilität nimmt ab.

Ich werde mir demächst Zeit nehmen, um genau zu erklären, wo meine Performance Probleme sind.

Grüße euer Dallun511

Ich konnte den großen Speicherbedarf nachvollziehen. Bei einem Dokument mit mehr als 230.000 Worten komme ich auf 1,3 GB, bei einem Speicherbedarf von LO von weniger als 300 MB ohne LT. Ich konnte allerdings die Instabilität nicht nachvollziehen, arbeite aber auch unter Linux mit 8 GB Speicher.
@dnaber: Der hohe Speicherbedarf scheint nicht aus der LO/OO - Extension zu resultieren. Ich habe mit einer Extension aus LT 3.9 experimentiert. Der Verbrauch ist nur unwesentlich geringer. Durch die Full Text Implementierung kommen theoretisch bei dem untersuchten Dokument der Speicher für 1,5 Millionen Zeichen hinzu, je nach interner Codierung also 1,5 bis 6 MB, im Vergeleich zum Gesamtspeicherverbrauch also Peanuts.
Zu Testzwecken habe ich den Text des ganzen Dokuments in die Standalone-Anwendung kopiert. Der Speicherverbrauch lag sogar noch etwas über dem der LO/OO - Extension.
(Nebenbei: Die Analyse dauerte mehrere Minuten. Das ist wahrscheinlich auch der Grund, warum eine echte Volltextsuche in LO/OO bei großen Dokumenten nicht praktikabel und die Einschränkung auf 5 Absätze vor und nach dem analysierten realistisch ist.)
Leider durchschaue ich den Code, der hinter der Extension abläuft bei Weitem noch nicht in Gänze. - Daniell ist es gewollt oder technisch notwendig, dass für die Analyse soviel Speicher allokiert wird? Er scheint auch nach Beendigung der Analyse nicht wieder freigegeben zu werden.

Ich habe den Kontakt zu den Entwickler von LibreOffice gesetzt und die können mir leider auch nicht helfen. Die haben mir zuerst auch nicht wirklich geglaubt, bis ich mein Problem mit ein Video demonstiert habe, aber sie können das Problem nicht nachstellen.

Mir wurde vorgeschlagen, LibreOffice in Safe Mode zu starten, wodurch sich der RAM verbraucht deutlich gesenkt haben, aber RAM ist mir egal, denn ich habe 16 GB. Mir geht es um die Performance, die immer schlechter wird und mich daran hindert, dass Dokument zu durchsuchen oder alte Kapitel zu bearbeiten, was nur Schneckentempo und mit viel Geduld klappt.

Ich kann zumindest sagen, dass das LanguageTool für den Speicherverbrauch verantwortlich ist, aber nicht für die Unstabilität, denn es trotzdem abzustürzen, obwohl das LanguageTool gar nicht aktiv ist und deaktiviert wurde.

P.S. Ich habe auch mal Word benutzt und bei Word ging die Rechtschreibüberprüfung schneller und ohne Probleme, aber das Programm auch sehr unstabil bei meiner großen Datei, weswegen ich zurück nach LibreOffice gegangen, weil ich machen kann, was ich will.

Wenn ihr die Videos haben wollt, sagt ruhig Bescheid.
Vielleicht könnt ihr damit mehr anfangen, als die Entwickler von LibreOffice.

Grüße Dallun511

Wie genau hast Du das gemessen? Speicherverbrauch bei Java ist etwas kompliziert: Java gibt den Speicher nicht wieder frei, wenn man nicht manuell eine Garbage Collection auslöst, oder der Speicher knapp wird.

Also Knappheit gibt’s ja bei mir nicht, weswegen Java mir den Speicher auch nicht zurückgeben wird, was mich auch nicht stört, denn meine anderen Prozesse leiden nie darunter.

Ich bin sprachlos

LanguageTool-SpeicherLanguageTool-Speicher-2LanguageTool-Speicher-3LanguageTool-Speicher-4LanguageTool-Speicher-5

Ich wollte nur den ganzen Text überprüfen lassen und jetzt bin baff, wie viel RAM das LanguageTool fressen kann.

@Fred.Kruse Hätte das dein Linux überlebt?
@dnaber Warum nimmt sich das LanguageTool so viel RAM auf einmal, obwohl ich nur das komplette Dokument überprüfen wollte? 8 GB sind nicht gerade wenig.

Wichtig! Die Screenshoots sind nach einander erstellt wurden und nicht, dass jemand jetzt denkt, dass das LanguageTool gut 30 GB RAM für sich beantspruch, denn das würde mein Windows garantiert nicht überleben.

Java nimmt sich gerne, so viel es kriegen kann. Das heißt nicht unbedingt, dass es wirklich so viel brauchen würde. Wenn der Speicher da ist, wird er halt genutzt. Wenn man das nicht will, muss man mit dem Java-Parameter -Xmx einen kleineren Wert setzen (z.B. -Xmx1000M).

@dnaber Ich bedanke mich für deine Antwort und habe nun den schuldigen für den RAM-Verbrauch gefunden, aber mein Problem mit LibreOffice bleibt leider trotzdem bestehen, aber dafür ist nicht das LanguageTool schuld, sondern LibreOffice selbst und die Entwickler scheinen mir auch nicht wirklich helfen zu wollen oder zu können, was ich sehr schade finde.

Ich werde nicht auf das LanguageTool verzichten und werde mit dem Laggs und Rückler leben müssen.

Grüße euer Dallun511

grafik

Dieser Satz ist richtig und das LanguageTool zeigt mir auch keinen Fehler mehr an, als ich den Satz korrigiert habe, aber der blau unterstrichende Satz bleibt über Stunden erhalten , was auf Dauer zimlich nervt und irriert.

Ist dafür das LanguageTool oder LibreOffice verantwortlich und lässt sich das irgendwie beheben?

Grüße euer Dallun511

grafik

Zuviel Blau auf Dauer. Das nervt ziemlich und es geht einfach nicht, außer ich starte neu.
Hier stimmt was nicht.

Grüße euer Dallun511