[OmniOS-discuss] qemu-system-x86_64 can not locked enough memory
Fucai Liang (BLCT)
fcliang at baolict.com
Wed Dec 2 03:38:35 UTC 2015
Thank for your help!
when the server boot up, it has 7989066 pages availrmem. after I launch one VM (8Gmemory), availrmem decrease to 4756624 .
7989066-4756624 = 3232442
3232442/256 = 12626.7265625 / 1024 = 12.3G
root at BLCC01:/root# mdb -ke 'availrmem/D ; pages_pp_maximum/D'
availrmem:
availrmem: 7989066
pages_pp_maximum:
pages_pp_maximum: 325044
root at BLCC01:/root# qemu-system-x86_64 -enable-kvm -vnc 0.0.0.0:12 -cpu host -smp 4 -m 8192 -no-hpe
root at BLCC01:/root# mdb -ke 'availrmem/D ; pages_pp_maximum/D'
availrmem:
availrmem: 4756624
pages_pp_maximum:
pages_pp_maximum: 325044
root at BLCC01:/root#
That mean the VM use 12.3G availrmem , how it happens ?
Thank !
------------------------------
fcliang
On Dec 2, 2015, at 1:37, Joshua M. Clulow <josh at sysmgr.org> wrote:
> On 1 December 2015 at 09:11, Dan McDonald <danmcd at omniti.com> wrote:
>>> On Dec 1, 2015, at 12:03 PM, Fucai.Liang <fcliang at baolict.com> wrote:
>>> then I start the third vm (4G memory), it got the following error :
>>> qemu-system-x86_64 -enable-kvm -vnc 0.0.0.0:2 -cpu host -smp 2 -m 4096 -no-hpet
>>>
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying...
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying...
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying...
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying...
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying...
>>> qemu_mlock: have only locked 1940582400 of 4294967296 bytes; still trying…
>>>
>>> I got 15G free memory in the system, why qemu-system-x86_64 can not locked enough memory ?
>> What does "vmstat 1 5" say prior to your launch of the third VM?
>
> I suspect it will show you have free memory available, but that what
> is really happening is getting here:
>
> https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/vm/seg_vn.c#L7989-L8002
>
> This is likely failing in page_pp_lock() because "availrmem" has
> fallen below "pages_pp_maximum":
>
> https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/vm/vm_page.c#L3817-L3818
>
> We set this value here, though it can be overridden in "/etc/system":
>
> https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/vm/vm_page.c#L423-L436
>
> You can look at the current values with mdb:
>
> mdb -ke 'availrmem/D ; pages_pp_maximum/D'
>
> Increasing this value doesn't seem to be without risk: I believe that
> it can lead to memory exhaustion deadlocks, amongst other things. I
> don't know if it's expected to be tuneable without a reboot.
>
>
> Cheers.
>
> --
> Joshua M. Clulow
> UNIX Admin/Developer
> http://blog.sysmgr.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20151202/54940a76/attachment.html>
More information about the OmniOS-discuss
mailing list