Bash: parallelisieren, die md5sum-Prüfsumme auf viele Dateien

können sagen, ich habe ein 64-core-server, und ich brauche, um zu berechnen md5sum alle Dateien in /mnt/data, und speichern Sie die Ergebnisse in eine text-Datei:

find /mnt/data -type f -exec md5sum {} \; > md5.txt

Das problem mit dem obigen Befehl ist, dass immer nur ein Prozess läuft zu einem bestimmten Zeitpunkt. Möchte ich nutzen die volle Kraft meines 64-Kerne. Im Idealfall würde ich gerne stellt sicher, dass zu jedem gegebenen Zeitpunkt, 64 parallel md5 Prozesse ausgeführt werden (aber nicht mehr als 64).

Auch. Ich bräuchte die Ausgabe von allen Prozessen für die Speicherung in einer Datei.

HINWEIS: ich bin nicht auf der Suche nach einem Weg, um zu berechnen md5sum einer Datei parallel. Ich bin auf der Suche nach einem Weg, um zu berechnen, 64 md5sums von 64 unterschiedliche Dateien parallel, solange es irgendwelche Dateien, die aus find.

  • Ich bin nicht sicher, es wird gut sein. Ich könnte mir vorstellen, dass das Zeug wird E / a-gebunden, sehr schnell und, dass die Verwendung von 64-Prozesse führen zu slooow IO während viele Kerne im Leerlauf trotzdem.
  • Aber auf der anderen Seite, modernen Datei-Systeme zwischengespeichert werden viel im RAM, also mehr als ein zu einer Zeit Sinn macht.
  • der kernel wird immer noch zum abrufen der Daten in den RAM, so dass der Engpass bleibt.
  • Ich bin daran interessiert, eine generalisierte Antwort. Wenn die md5sum ist zu schnell für Sie (cca 90 MB/s), als fühlen Sie sich frei, um die Vertretung eines langsamen Algorithmus (xz-Kompression 5MB/s). Es ist nicht unrealistisch anzunehmen, dass die lese-Geschwindigkeit von /mnt/Daten 500MB/s (ie, NFS über 10-GBit-Netzwerk -, oder SSD-Festplatte)
  • Falls die Daten bereits im RAM (denken Sie an die große Server mit z.B. 96 GB RAM), dass Sie vielleicht schon passiert ist.
  • Wenn die OP wollen eine Lösung für parallel läuft, warum jemand zu sprechen beginnen, über die "falsche Idee"? Vielleicht hat er einfach einmal testen möchten die I/O-Engpass oder was auch immer... Einfach nicht verstehen, die alles besser weis-Nutzer... (urbandictionary.com/...)

InformationsquelleAutor user1968963 | 2013-05-27
Schreibe einen Kommentar