viomb is a driver that tries to support OpenBSD, as a VM guest, responding
to a request from the VM host to stop using so much physical memory.  That
log message indicates that the kernel couldn't easily free up that much
physical memory, sorry!  The VM host is, of course, free to decide to just
page out whatever memory it wants instead, possibly resulting in thrashing:
running a VM setup oversubscribed for memory is a great way to be
frustrated and hate computers.

How can you make that message go away?  Provision your VM setup with enough
memory that it's not over subscribed, or at least so that the OpenBSD
guest(s) isn't the one being asked to slim itself (possibly by giving it
*less* but _reserved_ memory, so that the VM host never tries to shrink
its usage).


Philip Guenther


On Tue, May 14, 2024 at 4:16 PM F Bax <fbax...@gmail.com> wrote:

> I'm not a coder; but I found source for viomb; which
> calls uvm_pglistalloc; which calls uvm_pmr_getpages which mentions ENOMEM:
>
> https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/uvm/uvm_pmemrange.c?rev=1.66&content-type=text/plain
> There I found this comment:
> * fail if any of these conditions is true:
> * [1]  there really are no free pages, or
> * [2]  only kernel "reserved" pages remain and
> *        the UVM_PLA_USERESERVE flag wasn't used.
> * [3]  only pagedaemon "reserved" pages remain and
> *        the requestor isn't the pagedaemon nor the syncer.
>
> Unsure how I might use this information to get rid of the previously
> mentioned error message..
>
> On Tue, May 14, 2024 at 2:28 PM Peter J. Philipp <p...@delphinusdns.org>
> wrote:
>
>> On Tue, May 14, 2024 at 01:58:18PM -0400, F Bax wrote:
>> > Recently installed 7.5 amd64 in qemu VM (8G RAM) under proxmox. See this
>> > message many times on console and dmesg.
>> >
>> > viomb0 unable to allocate 256 physmem pages, error 12
>> >
>> > What does this mean? How to resolve this issue?
>>
>> Hi,
>>
>> When you see "error <number>" it's good to look up the manpage on errno.
>> Under number 12 it says:  ENOMEM "Cannot Allocate Memory".  But look for
>> yourself for a deeper explanation.  Also if you want to hunt for this
>> errno
>> in the code you would most likely grep for ENOMEM.
>>
>> Best Regards,
>> -pjp
>>
>> --
>> ** all info about me:  lynx https://callpeter.tel, dig loc
>> delphinusdns.org **
>>
>>

Reply via email to