[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] The image size of instance VM keeps growing
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] The image size of instance VM keeps growing |
Date: |
Fri, 25 May 2012 12:45:31 +0100 |
On Fri, May 25, 2012 at 10:20 AM, Charles.Tsai-蔡清海-研究發展部
<address@hidden> wrote:
> Stefan,
>
> I made two test cases here.
>
> 1) case one:
> A 32-bit Windows 7 VM with 8G virtual disk size.
> In this test, the virtual disk is almost full.
> Like what you said, the instance VM size only increased 2%
> initially and only a little when virtual disk size is almost
> full.
>
> 2) case two: (we think it is a bug)
>
> A 64-bit Windows 7 VM with 64G virtual disk size.
> Base image size: 19G
>
> Here is what I found
>
> The increase size of instance VM is significantly different
> from the decrease size of virtual disk.
> The decrease size of virtual disk stands for the new data
> written into the disk by the OS.
>
> Here are the readings I collected at differ time slot.
>
> 1)
> Instance VM size: 1.6G
> Virtual disk free space: 45792534528 (read from guest OS)
>
> 2)
> Instance VM size: 2.1 G
> Virtual disk free space: 45786300416 (read from guest OS)
>
> You can find that the instance VM increase 0.5G but virtual
> disk space only reduces around 6MB.
> This process will continue as long as the VM is running.
This seems normal. The relationship between free space inside the
guest and qcow2 image file size is not 1:1 - in fact it's arbitrary
and depends completely on your file system, partitioning, etc.
But let's assume for a second that free space inside the guest
indicates the amount of data written into the image file:
free space consumed = 45792534528 - 45786300416 = 6234112 = ~6 MB
In the worst case each 512-byte sector of those 6 MB is in a separate
64 KB cluster region. In other words:
for (i = 0; i < 6234112 / 512; i++) {
offset = i * 65536;
pwrite(disk, buf, 512, offset);
}
Let's calculate how much allocation this causes in the qcow2 image file:
(6234112 / 512) * 65536 = 797966336 = 761 MB
This is the worst case. In practice the I/O pattern will probably not
touch a new cluster every time and the qcow2 file will grow a lot
less.
So we have estimated the worst case qcow2 image file growth for 6 MB
of writes. The result is 761 MB. It is larger than what you observed
so your results can be explained as expected behavior.
Stefan
- Re: [Qemu-devel] The image size of instance VM keeps growing, (continued)
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/21
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/23
- Re: [Qemu-devel] The image size of instance VM keeps growing, Stefan Hajnoczi, 2012/05/23
- Re: [Qemu-devel] The image size of instance VM keeps growing, Michael Tokarev, 2012/05/23
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/23
- Re: [Qemu-devel] The image size of instance VM keeps growing, Stefan Hajnoczi, 2012/05/25
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/23
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/24
- Re: [Qemu-devel] The image size of instance VM keeps growing, Stefan Hajnoczi, 2012/05/25
- Re: [Qemu-devel] The image size of instance VM keeps growing, Charles . Tsai-蔡清海-研究發展部, 2012/05/25
- Re: [Qemu-devel] The image size of instance VM keeps growing,
Stefan Hajnoczi <=
- Re: [Qemu-devel] The image size of instance VM keeps growing, nicolas prochazka, 2012/05/23
- [Qemu-devel] Tracing message for mu, Charles . Tsai-蔡清海-研究發展部, 2012/05/24
- Re: [Qemu-devel] Tracing message for mu, Stefan Hajnoczi, 2012/05/25
- Re: [Qemu-devel] Tracing message for mu, Charles . Tsai-蔡清海-研究發展部, 2012/05/26
- Re: [Qemu-devel] Tracing message for mu, Stefan Hajnoczi, 2012/05/28
Re: [Qemu-devel] The image size of instance VM keeps growing, Michael Roth, 2012/05/23