Ich verwende, cat
um verschiedene Dateien in eine große Datei zu leiten. Die Anzahl der verschiedenen Dateien variiert von zwei bis zu zehn Dateien, aber die Gesamtgröße aller Dateien ist immer gleich (ein paar GB).
Mein Problem: Immer , wenn ich auf den Fall, wo ich insgesamt sechs Dateien haben, die Zeit, die sie verketten nimmt Spitzen (dh deutlich mehr als mit fünf oder sieben), und ich habe keine Ahnung , warum.
Hat jemand eine Idee?
Die Dateien (alle gleich groß)
output
outputTEMP1
outputTEMP2
outputTEMP3
outputTEMP4
outputTEMP5
Befehl
cat outputTEMP* >> output && rm -f outputTEMP*
Derzeit muss die Maschine einige Berechnungen durchführen, aber ich werde sie später aktualisieren, wenn neue Messungen verfügbar sind.
linux
performance
brandstaetter
quelle
quelle
Antworten:
Eine Möglichkeit, dieses Problem zu beheben, ist die Verwendung von strace.
Die Option -tt protokolliert den Zeitstempel des Systemaufrufs in Millisekunden Auflösung. -e trace = öffnen, Protokoll schließen nur öffnen, API schließen. Wenn Sie versuchen, sie zu entfernen, wird eine sehr verrauschte Protokolldatei angezeigt.
quelle
Davides Kommentar ist also genau richtig. Wir brauchen hier zwei Dinge, um eine genaue Einschätzung vorzunehmen:
Angenommen, Sie haben den Speicherplatz, beschreibe ich ein Testszenario, mit dem genauer festgestellt wird, ob dies ein echtes Problem ist. In diesem Fall helfen die unterstützenden Beweise aus diesem Ansatz den Entwicklern, zu erkennen, dass es real ist, und es reproduzieren zu können.
Um bei der Problemisolierung zu helfen, machen wir hier überhaupt nicht den rm-Teil. Lassen Sie die TEMP-Dateien danach herumliegen. Wenn Sie möchten, können Sie die Tests später mit dem Teil 'rm' wiederholen.
Hier ist das Testszenario:
Verwenden Sie den Befehl time wie folgt:
Zeit (cat outputTEMP * >> Ausgabe)
Erfassen Sie die tatsächlichen, Benutzer- und Systemnummern, die für jeden von Ihnen ausgeführten Test gemeldet wurden.
Ich stimme Reynolds zu; Wenn dies real ist, sollten Sie auf jeden Fall Details per E-Mail an [email protected] senden.
quelle