tail -f aktualisiert langsam

tail -f aktualisiert langsam

Ich bin mir nicht sicher, warum, aber auf meinem Macbook Pro mit Lion erhalte ich langsame Updates, wenn ich „tail -f“ für eine Protokolldatei eingebe, in die geschrieben wird. Ich habe diesen Befehl in meiner letzten Firma ständig verwendet, aber das war normalerweise auf Linux-Rechnern. Das Einzige, was mir einfällt, was die Updates möglicherweise verlangsamen könnte, ist das Puffern der Ausgabe und/oder vielleicht ein anderes Update-Intervall auf einem Mac im Vergleich zu Linux. Ich habe es mit mehreren Befehlen versucht, die alle relativ schnell in Stout schreiben, aber langsame Updates für den Tail-Befehl liefern. Irgendwelche Ideen?

Aktualisieren Ich führe lediglich ein Python-Skript mit einer Reihe von Ausdrucken darin aus und leite zu einer Datei vi "> mein output.log" um. Ich erwarte, dass die Aktualisierungen nahezu in Echtzeit angezeigt werden, aber das scheint nicht der Fall zu sein.

Antwort1

Das System erwartet von einem Dateisystem mehr Geduld als von einem durchschnittlichen Benutzer an der Konsole und puffert die Ausgabe, die nicht an das Terminal geht. Außerdem sind Terminals besser geeignet, Zeilen bei der Eingabe zu verarbeiten als Dateisysteme, die immer mit Blöcken arbeiten. Das Leeren der Ergebnisse nach jeder Zeile wirkt sich auf die Leistung aus, aber das ist für Ihren Anwendungsfall möglicherweise kein Problem.

Um das Puffern auszuschalten, können Sie das Skript mit dem Expect-Paket ausführen python -u SCRIPToder es verwenden unbuffer(das für den Mac möglicherweise nicht verfügbar ist).

Antwort2

verwandte Informationen