dd - blocksize (bs)

05/06/2011 - 10:11 von Gerhard Wolf | Report spam
Hallo,
ich habe auf meinem Palm Pre Internen Laufwerk 6,3 GB platz frei und
möchte 410MB bestehend aus 470.000 Dateien ca. 103 Bytes groß kopieren.
Nach ca. 210 kopierten MB ist das Laufwerk voll. Ok. Kann mir vorstellen
warum. Deshalb will ich jetzt mit z.B.:

dd if=/dev/zero of=maptool.img bs24 count=?
mkfs.ext3 -F maptool.img

mkdir .MapTool
mount -o loop maptool.img .MapTool

weiterkommen. Dazu die Frage:

Wie optimiere die dd Parameter bs, count (...) wenn die Dateien im Mittel
103 Bytes groß sind?

Sonstige Tips?
 

Lesen sie die antworten

#1 Peter Gertner
05/06/2011 - 11:56 | Warnen spam
Hallo Gerhard,

On 05.06.2011 10:11, Gerhard Wolf wrote:
möchte 410MB bestehend aus 470.000 Dateien ca. 103 Bytes groß kopieren.
[...]
Wie optimiere die dd Parameter bs, count (...) wenn die Dateien im Mittel
103 Bytes groß sind?



So, daß das Produkt aus bs und count mindestens 410MB betràgt (eher mehr
für Metadaten + Journal). Die Blocksize gibt nur an, in wie großen
Blöcken auf das unterliegende Medium (SD-Karte, Flash) geschrieben wird.
Das ist theoretisch egal, weil es eh vom Dateisystem (beim internen
Speicher eventuell sowas wie JFFS) in Blöcke anderer Größe aufgeteilt
wird. Die bs kann dann interessant sein, wenn man beispielsweise
I/O-Buffer möglichst komplett füllen möchte (nicht 1 Byte vom NIC lesen,
sondern immer 1024, z.B.).

Sonstige Tips?



An genügend INodes denken.
-m 0.
Eventuell ReiserFS in Erwàgung ziehen, das ist für viele kleine Dateien
sehr gut geeignet.

Bis spàter
Peter

Ähnliche fragen