GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann ich den Fortschritt eines „Sync“-Vorgangs verfolgen?

Betrachten wir /proc/meminfo zeigt die Dirty Zahl schrumpft mit der Zeit, wenn alle Daten herausgespult werden; ein Teil davon kann in Writeback übergehen auch. Das ist eine Zusammenfassung für alle Geräte, aber in den Fällen, in denen ein Gerät im System viel langsamer ist als der Rest, landen Sie normalerweise dort, wo alles in dieser Warteschlange damit zusammenhängt. Sie werden wahrscheinlich die Dirty finden große Zahl beim Start und die sync endet etwa zur selben Zeit, in der es sich 0 nähert. Versuchen Sie Folgendes, um eine interaktive Anzeige zu erhalten:

watch -d grep -e Dirty: -e Writeback: /proc/meminfo

Bei normalen Festplatten kann ich normalerweise Writeback ignorieren , aber ich bin mir nicht sicher, ob es häufiger am USB-Übertragungsweg beteiligt ist. Wenn es ohne klaren Trend nur auf und ab springt, können Sie sich wahrscheinlich nur den Dirty ansehen Nummer.


Sie können sich die /sys/block/<device>/stat ansehen Datei für das entsprechende Gerät, während Sie synchronisieren. Die Spalte 9 gibt die Anzahl der In-Flight-Anfragen auf dem Gerät an, die nach Abschluss der Synchronisierung auf Null sinken sollte.
Ich kenne keine Möglichkeit, das in eine Anzahl von Bytes zu übersetzen, aber es sollte Ihnen eine ungefähre Vorstellung davon geben, wie viel "Zeug" noch aussteht.

Weitere Informationen finden Sie in der Datei stat.txt in der Kernel-Dokumentation. (Es gibt auch eine inflight Datei in diesem Verzeichnis auf meinem System, die so aussieht, als könnte sie Lese- und Schreibanfragen enthalten, aber ich kann keine Dokumentation dafür finden.)


Indem Sie Gregs Antwort verwenden, können Sie einfach sync haben läuft im Hintergrund, während der Status des Dirty-Blocks im Speicher angezeigt wird.

Führen Sie dazu einfach diesen Befehl aus:

sync & watch -n 1 grep -e Dirty: /proc/meminfo

Dadurch wird sync aufgerufen im Hintergrund während der Ausführung von watch vorne. Wenn die sync Befehl abgeschlossen ist (ungefähr wenn die Größe des Dirty-Blocks 0 erreicht hat), erhalten Sie eine Ausgabe, die so aussieht:

1]  + 27260 done        sync

Das bedeutet, dass der Befehl beendet ist und Sie watch beenden können Befehl mit Strg +C .


Linux
  1. Wie finde ich die Version von Fedora, die ich verwende?

  2. Wie kann ich den Tastaturstatus unter Linux abrufen?

  3. Wie kann ich das 'Backend' in Matplotlib in Python einstellen?

  4. Wie bekomme ich cURL dazu, den Fortschrittsbalken nicht anzuzeigen?

  5. BlueZ auf i.MX25:RFCOMM-Buchse kann nicht verbunden werden:Vorgang wird gerade ausgeführt

Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

Sehen Sie sich YouTube-Videos am Linux-Terminal an

Was ist der Linux-Überwachungsbefehl + Beispiele

7 Möglichkeiten, den Linux Watch-Befehl zu verwenden

Backup des Home-Verzeichnisses - Die schnelle und schmutzige Anleitung

Beheben Sie den Fehler, dass der Befehl hwmatch auf Grub nicht gefunden werden kann