bup-memtest - Testen Sie die Statistiken zur Bup-Speichernutzung
bup memtest [options...]
bup memtest öffnet die Liste der Pack-Indizes in Ihrem bup-Repository, durchsucht dann die Liste nach einer Reihe nicht vorhandener Objekte und druckt nach jedem Zyklus Statistiken zur Speichernutzung aus.
Aufgrund der Funktionsweise von Unix-Systemen zeigt die Ausgabe normalerweise einen großen (und unveränderlichen) Wert in der Spalte „VmSize“ an, da die Zuordnung der Indexdateien zunächst eine gewisse Menge an virtuellem Adressraum beansprucht. Diese Nutzung des virtuellen Speichers ist jedoch vollständig virtuell; Es beansprucht nichts von Ihrem RAM. Im Laufe der Zeit verwendet bup Teile der Indizes, die von der Festplatte geladen werden müssen, und dies führt zu einer Vergrößerung der VmRSS-Spalte.
Legen Sie die Anzahl der Objekte fest, nach denen während jedes Zyklus gesucht werden soll (d. h. vor dem Drucken einer Ausgabezeile).
Legen Sie die Anzahl der Zyklen fest (d. h. die Anzahl der Ausgabezeilen nach der ersten). Die erste Ausgabezeile ist immer 0 (d. h. die Basislinie vor der Suche nach Objekten).
Ignorieren Sie alle von bup midx erstellten .midx-Dateien. Dadurch können Sie die Speicherleistung mit und ohne Verwendung von Midx vergleichen.
Suchen Sie nach vorhandenen Objekten, anstatt nach zufälligen, nicht vorhandenen Objekten zu suchen. Dies kann die Speichernutzung und Leistung stark beeinträchtigen. Beachten Sie, dass Bup Save die meiste Zeit damit verbringt, nach nicht vorhandenen Objekten zu suchen, da sich vorhandene wahrscheinlich in unveränderten Dateien befinden, die wir ohnehin nicht zu sichern versuchen. Das Standardverhalten spiegelt also die tatsächliche Bup-Leistung genauer wider. Möglicherweise möchten Sie diese Option jedoch trotzdem nutzen, um sicherzustellen, dass die Suche nach vorhandenen Objekten nicht viel schlechter wird als zuvor.
$ bup memtest -n300 -c5
PackIdxList: using 1 index.
VmSize VmRSS VmData VmStk
0 20824 kB 4528 kB 1980 kB 84 kB
300 20828 kB 5828 kB 1984 kB 84 kB
600 20828 kB 6844 kB 1984 kB 84 kB
900 20828 kB 7836 kB 1984 kB 84 kB
1200 20828 kB 8736 kB 1984 kB 84 kB
1500 20828 kB 9452 kB 1984 kB 84 kB
$ bup memtest -n300 -c5 --ignore-midx
PackIdxList: using 361 indexes.
VmSize VmRSS VmData VmStk
0 27444 kB 6552 kB 2516 kB 84 kB
300 27448 kB 15832 kB 2520 kB 84 kB
600 27448 kB 17220 kB 2520 kB 84 kB
900 27448 kB 18012 kB 2520 kB 84 kB
1200 27448 kB 18388 kB 2520 kB 84 kB
1500 27448 kB 18556 kB 2520 kB 84 kB Bei der Optimierung der Bup-Indizierung besteht das erste Ziel darin, den VmRSS einigermaßen niedrig zu halten. Es kann jedoch irgendwann erforderlich sein, alle Indizes auszutauschen, einfach weil Sie nach vielen Objekten suchen, und dies führt dazu, dass Ihr RSS schließlich so groß wird wie VmSize.
Das Schlüsselwort hier ist irgendwann. Solange VmRSS relativ langsam wächst, ist die durch den Zugriff auf Paketindizes verursachte Festplattenaktivität relativ gering. Wenn es schnell wächst, wird bup wahrscheinlich die meiste Zeit damit verbringen, Indexdaten von der Festplatte auszutauschen, anstatt Ihr Backup tatsächlich auszuführen, sodass Backups sehr langsam laufen.
Der Zweck von bup memtest besteht darin, Ihnen eine Vorstellung davon zu geben, wie schnell Ihre Speichernutzung wächst, und Ihnen bei der Optimierung von bup für eine bessere Speichernutzung zu helfen. Wenn Sie Speicherprobleme haben, werden Sie möglicherweise gebeten, die Ausgabe von bup memtest zu senden, um die Diagnose der Probleme zu erleichtern.
Tipp: Versuchen Sie es mit bup midx -a oder bup midx -f, um zu sehen, ob dies zur Reduzierung Ihrer Speichernutzung beiträgt.
Wissenswertes: Die Indexspeichernutzung in Bup (oder Git) ist nur dann wirklich ein Problem, wenn eine große Anzahl bisher nicht sichtbarer Objekte hinzugefügt wird. Dies liegt daran, dass wir für jedes Objekt absolut bestätigen müssen, dass es nicht bereits in der Datenbank vorhanden ist. Dazu müssen wir alle vorhandenen Paketindizes durchsuchen, um sicherzustellen, dass keiner von ihnen das Objekt enthält Frage. Im offensichtlicheren Fall der Suche nach Objekten, die existieren, sind die gesuchten Objekte normalerweise in irgendeiner Weise miteinander verbunden, was bedeutet, dass sie wahrscheinlich alle in einer kleinen Anzahl von Packdateien vorhanden sind, sodass die Speichernutzung entsprechend hoch sein wird auf nur diese Packfile-Indizes beschränkt.
Da Git-Benutzer normalerweise nicht viele Dateien in einem einzigen Lauf hinzufügen, benötigt Git nicht wirklich ein Programm wie bup midx. bup hingegen verbringt die meiste Zeit damit, Dateien zu sichern, die es zuvor noch nicht gesehen hat, daher sind die Speichernutzungsmuster unterschiedlich.
bup-midx(1)
Teil der bup(1)-Suite.
Avery Pennarun