I just found out that a new version of Qemu has hit the street! Â From the changelog:
- Version 0.14.1Â (commit)
- virtio-blk: fail unaligned requests (commit)
- qed: Fix consistency check on 32-bit hosts (commit)
- exit if -drive specified is invalid instead of ignoring the “wrong” -drive (commit)
- vhost: fix dirty page handling (commit)
- Do not delete BlockDriverState when deleting the drive (commit)
- vnc: tight: Fix crash after 2GB of output (commit)
- lan9118: Ignore write to MAC_VLAN1 register (commit)
- Don’t allow multiwrites against a block device without underlying medium (commit)
- lsi53c895a: add support for ABORT messages (commit)
- virtio-pci: fix bus master work around on load (commit)
- fix applesmc REV key (commit)
- rbd: don’t link with -lcrypto (commit)
- net: Add the missing option declaration of “vhostforce” (commit)
- lsi53c895a: Update dnad when skipping MSGOUT bytes (commit)
- Revert “prep: Disable second IDE channel, as long as ISA IDE emulation doesn’t support same irq for both channels” (commit)
- isa-bus: Remove bogus IRQ sharing check (commit)
- virtio-net: Fix lduw_p() pointer argument of wrong size (commit)
- hw/sd.c: Add missing state change for SD_STATUS, SEND_NUM_WR_BLOCKSÂ (commit)
- vnc: Fix fatal crash with vnc reverse mode (commit)
- qemu-char: Check for missing backend name (commit)
I’ve also included my patches to enable ctrl+alt+d for a quick control alt delete, ctrl+alt+r for reset, and the ISA Cirrus adapter.
As always, I’ll have win32 builds up in the usual spot. Â i386/x86_64 and everything else. Â I’ve tested these on Windows 7 x86_64, and they should work on XP & Vista i386 as well.
Also I’ve switched this to 7zip to save space.
I dig the new site.
It was a lot easier to setup than I had anticipated… Then again the last time I looked at doing this it was 2007… I’m sure things have gotten a lot better since then!
And thanks!
Qemu operates at low speed with a virtual hard disk. I tried to format raw, qcow, vdi. On Windows XP 32-bit everything is fine. But for Windows 7 64-bit is such a problem. MS-DOS 6.22 is installed in Qemu on Windows 7, a few minutes, but on XP for a few seconds. Tried Qemu 0.14.0, 0.14.1, 0.15.0. Why such a low speed? 🙁 In Safe Mode, Windows 7 is still a problem, too. How to solve this problem on Windows 7? Can you help? Thanks in advance.
Sorry for my English.
I’ve never benchmarked the speed of the disks… I know that expanding/growing a qcow/qcow2/vmdk/vpc image can be quite painful, however if RAW is slow as well… That’d be quite bad.
How much memory do you have?
memory 4 GB
I run Qemu with
qemu.exe -M pc -L pc-bios -m 16 -boot menu=on -hda disk1.disk -fda DOS1.IMG
On raw format writing speed – few KiloBytes per seconds. 4-10 Kb/sec 🙁
On XP works fine. Why?
I have no idea… here is a small test I just ran with Qemu 0.15.0 …
# time dd if=/dev/zero of=bla bs=1000000 count=50
50+0 records in
50+0 records out
50000000 bytes transferred in 48.727 secs (1026116 bytes/sec)
0m48.76s real 0m0.00s user 0m9.64s system
Yes! 🙂 Problem solved! The problem was related to the write caching on the hard drive. Caching in Qemu depends on the parameter “-cache cacheparameter” in “-drive”. This option is described in detail in the documentation. cacheparameter is “none”, “writeback”, “unsafe”, or “writethrough”. “directsync” is in the documentation, but I have not worked. With and without caching – different speed of the disc.
I tested the write speed to virtual hard disk.
Checked the speed install MS-DOS 6.22 in Qemu 0.14.1 and 0.15.0.
fast – copying files takes 1 – 2 seconds with a single floppy.
slow – copying files takes longer than 20 seconds (maybe even more than one minute) with a single floppy.
Columns – parameters of cache.
Rows – virtual hard disk formats.
Host OS – Windows 7 64-bit
Qemu 0.14.1 =>
|———|writethrough|writeback|unsafe|none|
————————————————-
| raw | slow | fast | fast |slow |
| qcow | slow | slow* | fast | slow|
| qcow2 | slow | fast | fast | slow|
| vdi | slow | fast | fast | slow|
————————————————-
Qemu 0.15.0 =>
|———|writethrough|writeback|unsafe|none|
————————————————-
| raw | slow | fast | fast |fast |
| qcow | slow | slow* | fast | slow|
| qcow2 | slow | fast | fast | fast|
| vdi | slow | fast | fast | fast|
————————————————-
* – Why slow? I don’t know. 🙁
Interesting test results.
“writethrough” option is the default. The result was a low speed of write to the virtual hard disk.
I replaced “-hda disk1.qcow2” to
“-drive file=disk1.qcow2,if=ide,index=0,media=disk,cache=writeback”
And it works fast.
Wow that is some fantastic information!!! I’ll have to crib that and write it up! but that is amazing I never even though to dig that far!!!!!
Previous testing was on Windows 7 64-bit with Service Pack 1.
I spent testing on Windows XP SP3 32-bit. The results were different from the results on Windows 7.
Results Qemu 0.14.1 and 0.15.0 turned out the same.
Columns – parameters of cache.
Rows – virtual hard disk formats.
Host OS – Windows XP SP3 32-bit
Qemu 0.14.1 & 0.15.0 =>
|———|writethrough|writeback|unsafe|none|
————————————————
| raw | fast | fast | fast | fast|
| qcow | fast | slow | fast | slow|
| qcow2 | medium* | fast | fast | fast|
| vdi | fast | fast | fast | fast|
————————————————
* – There was a significant slowdown, but still the speed was high enough (about 3 – 5 seconds).
Since “writethrough” option is the default, it becomes clear why the write speed to a virtual hard drive was high on Windows XP. (maybe it becomes clear)
I’ve reached 2GB/s inside VM running on SSD drive with cache=”writeback” option since it’s just buffering..