John H. DuBois III wrote:
> I've created an implementation of the memory balloon driver for SCO OpenServer.
> Communication via the back door appears to be working, in that the startup
> succeeds and the target queries return success (that is, ax comes back 0, which
> is not the case when I test it on bare metal). However, the balloon target is
> always returned as 0. I've tried various things to attempt to trigger
> inflation, e.g. touching most of the guest's memory and then consuming memory
> outside of the guest, with no luck. I tried returning a guest type of
> BALLOON_GUEST_SOLARIS instead of BALLOON_GUEST_UNKNOWN in case it makes a
> difference, with no change. I'm testing this under Workstation 6.5.3 and ESX
> 3.5.
>
> Example status report:
>
> target: 0 pages
> current: 0 pages
> rateNoSleepAlloc: 16384 pages/sec
> rateSleepAlloc: 2048 pages/sec
> rateFree: 16384 pages/sec
>
> timer: 1507
> start: 1 ( 0 failed)
> guestType: 1 ( 0 failed)
> lock: 0 ( 0 failed)
> unlock: 0 ( 0 failed)
> target: 1507 ( 0 failed)
> primNoSleepAlloc: 0 ( 0 failed)
> primCanSleepAlloc: 0 ( 0 failed)
> primFree: 0
> errAlloc: 0
> errFree: 0
>
> Some questions:
>
> - Does ballooning work under Workstation?
>
Yes.
> - What can I do that will be guaranteed to provoke balloon inflation?
>
For ESX.
a) Run 2 VMs with ~1.5x overcommit. For instance if your host has 4GB of
memory, you can assign each VM 3GB.
b) Run memory intensive workload (memhog), that touches ~75% of memory
in one VM. You should see target != 0.
You can try above experiment in different config, for eg. assigning less
memory where you plan to run intensive workload, so as to see ballooning
taking place..
> - Is there something obvious I'm missing?
>
> thanks,
>
> John
>
Shailesh Jain
|