All of lore.kernel.org
 help / color / mirror / Atom feed
* HVM and free_memory query
@ 2009-07-09 19:28 Apoorva Kulkarni
  2009-07-10 13:46 ` Keir Fraser
  0 siblings, 1 reply; 5+ messages in thread
From: Apoorva Kulkarni @ 2009-07-09 19:28 UTC (permalink / raw)
  To: xen-devel

Hello All

I have tried the xen-users list for this query but haven't received any input there yet so trying here. I have an Intel Xeon server with 32G memory. My setup is xen-3.2.2 with 32-bit CentOS 5.1 dom0 with a 64-bit hypervisor. 

Initial state...
#xm info
<snip>
release                : 2.6.18.8-xen0
version                : #1 Thu Jun 18 14:06:08 PDT 2009
machine                : i686
nr_cpus                : 8
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 1861
hw_caps                : bfebfbff:20100800:00000000:00000140:0004e3bd:00000000:00000001
total_memory           : 32766
free_memory            : 31298
node_to_cpu            : node0:0-7
xen_major              : 3
xen_minor              : 2
xen_extra              : .2-rc3-pre
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xfdc00000
</snip>


#xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     1     r-----  25216.9
controller                                   1   512     1     r-----  39912.5


After I create a Windows 2003 Server VM with 30G RAM...

#xm info
<snip>
total_memory           : 32766
free_memory            : 337
</snip>

#xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     1     r-----  25251.4
controller                                   1   512     1     -b----  39948.6
vm.windows03                                44 30720     1     r-----     22.0

As you can see, the free_memory shown is 337M which is a good 241M less than what it should have been (31298M - 30720M = 578M) after the Windows VM was created. My question here is where/why does xen use that extra 241M. Any pointers much appreciated.

TIA!
-- Apoorva Kulkarni 3Tera, Inc.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: HVM and free_memory query
  2009-07-09 19:28 HVM and free_memory query Apoorva Kulkarni
@ 2009-07-10 13:46 ` Keir Fraser
  2009-07-10 18:33   ` Apoorva Kulkarni
  0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2009-07-10 13:46 UTC (permalink / raw)
  To: Apoorva Kulkarni, xen-devel

On 09/07/2009 20:28, "Apoorva Kulkarni" <apoorva@3tera.com> wrote:

> #xm list
> Name                                        ID   Mem VCPUs      State
> Time(s)
> Domain-0                                     0   512     1     r-----  25251.4
> controller                                   1   512     1     -b----  39948.6
> vm.windows03                                44 30720     1     r-----     22.0
> 
> As you can see, the free_memory shown is 337M which is a good 241M less than
> what it should have been (31298M - 30720M = 578M) after the Windows VM was
> created. My question here is where/why does xen use that extra 241M. Any
> pointers much appreciated.

It's used for shadow pagetables and other memory book-keeping structures.
This reservation is sized as a fraction of the domain's configured memory
allocation -- the fraction is just under 0.8%. And 0.8% of 30720MB is 245MB,
so that works out just about right.

This is one of those cases where a small fraction of a very big number is
still a big number. ;-)

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: HVM and free_memory query
  2009-07-10 13:46 ` Keir Fraser
@ 2009-07-10 18:33   ` Apoorva Kulkarni
  2009-07-10 18:41     ` Keir Fraser
  0 siblings, 1 reply; 5+ messages in thread
From: Apoorva Kulkarni @ 2009-07-10 18:33 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel

Keir Fraser wrote:
> It's used for shadow pagetables and other memory book-keeping structures.
> This reservation is sized as a fraction of the domain's configured memory
> allocation -- the fraction is just under 0.8%. And 0.8% of 30720MB is 245MB,
> so that works out just about right.
>
> This is one of those cases where a small fraction of a very big number is
> still a big number. ;-)
>
>  -- Keir

Keir

Thank you for your quick response. That helps a lot.

In our case we need to know precisely how much overhead memory is 
required by xen per domain. So is it okay for us to assume that it will 
always be under 0.8% or could there be exceptions to this (e.g. 
different fractions for a Solaris 10 HVM vs Windows HVM) ?

Thanks again.
 
--
Apoorva Kulkarni
3Tera, Inc.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: HVM and free_memory query
  2009-07-10 18:33   ` Apoorva Kulkarni
@ 2009-07-10 18:41     ` Keir Fraser
  2009-07-10 18:48       ` Apoorva Kulkarni
  0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2009-07-10 18:41 UTC (permalink / raw)
  To: Apoorva Kulkarni; +Cc: xen-devel

On 10/07/2009 19:33, "Apoorva Kulkarni" <apoorva@3tera.com> wrote:

> Thank you for your quick response. That helps a lot.
> 
> In our case we need to know precisely how much overhead memory is
> required by xen per domain. So is it okay for us to assume that it will
> always be under 0.8% or could there be exceptions to this (e.g.
> different fractions for a Solaris 10 HVM vs Windows HVM) ?

Precisely, the overhead is determined by xend as: 8kB per 1MB of guest
memory, plus 1MB per guest virtual cpu.

See xen/xend/image.py:X86_HVM_ImageHandler:getRequiredShadowMemory()

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: HVM and free_memory query
  2009-07-10 18:41     ` Keir Fraser
@ 2009-07-10 18:48       ` Apoorva Kulkarni
  0 siblings, 0 replies; 5+ messages in thread
From: Apoorva Kulkarni @ 2009-07-10 18:48 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel

Keir Fraser wrote:
> On 10/07/2009 19:33, "Apoorva Kulkarni" <apoorva@3tera.com> wrote:
>
>   
>> Thank you for your quick response. That helps a lot.
>>
>> In our case we need to know precisely how much overhead memory is
>> required by xen per domain. So is it okay for us to assume that it will
>> always be under 0.8% or could there be exceptions to this (e.g.
>> different fractions for a Solaris 10 HVM vs Windows HVM) ?
>>     
>
> Precisely, the overhead is determined by xend as: 8kB per 1MB of guest
> memory, plus 1MB per guest virtual cpu.
>
> See xen/xend/image.py:X86_HVM_ImageHandler:getRequiredShadowMemory()
>
>  -- Keir
>   

Exactly what we were looking for. Thanks a ton.

--
Apoorva Kulkarni
3Tera, Inc.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-07-10 18:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-09 19:28 HVM and free_memory query Apoorva Kulkarni
2009-07-10 13:46 ` Keir Fraser
2009-07-10 18:33   ` Apoorva Kulkarni
2009-07-10 18:41     ` Keir Fraser
2009-07-10 18:48       ` Apoorva Kulkarni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.