Ich benutze Arch Linux in einer virtuellen Maschine und ich möchte die Schreibgeschwindigkeit in der VM ermitteln.
Mit dd if=/dev/zero of=/home/user/file bs=10MB count=100 kann ich eine Datei von 1 GB erzeugen, aber in der virtuellen Maschine wird die Datei anscheinend nicht wirklich geschrieben, denn die Größe der dynamischen VDI ändert sich nicht. Außerdem geht es viel zu schnell.
Mein Ansatz, für das input file statt /dev/zero eine kleine Datei 1 Millionen Mal immer anzuhängen, funktioniert irgendwie nicht. Wie könnte man das machen?
Hast du den Cache beruecksichtigt und gewartet, bis die Daten tatsaechlich auf den Speicher geschrieben wurden?
Ich habe einige Minuten gewartet, aber die dynamische VDI bleibt gleich groß. Wenn ich statt dessen auf den darunter liegenden Host schreibe, dann wird eine richtige Datei von 1 GB erzeugt.
Dann vermute ich, dass du das Disk-Image mit Kompression erstellt hast, und da du nur Nullen schreibst, wird einfach gar nichts geschrieben. versuch es mal mit /dev/random oder /dev/urandom
/dev/random schreibt etwas, aber es geht sehr langsam. Ich habe in 60,3505 s nur 375 Bytes erzeugt.
Dann erzeuge mal etwas Entropie... Mauszeiger bewegen, Musik-Stream anmachen oder Youtube-Video gucken... irgendwas, wass das System bewegt...
Ich habe ein zufälliges YouTube Video gestartet, aber in 30 s gab es nur 303 Bytes.
... dann nimm mal /dev/urandom.. das ist nicht von der Entropie abhaengig....
Danke! Mit /dev/urandom hat es funktioniert.
1 GB in die VM schreiben hat 17,1446 s gedauert (bzw. es wurden 61,2 MB/s geschrieben).
1 GB auf den Host schreiben hat 9,10679 s gedauert (bzw. es wurden 115 MB/s geschrieben).

Das wollte ich wissen.

P.S.: Mein Notebook ist schon ein paar Jahre alt. Mit neuerer Hardware und SSD geht das sicherlich schneller.
Dann bitte das Thema noch auf [gelöst] setzen 😉