dom0: check RLIMIT_MEMLOCK before starting VM (and fix if possible)
This commit is contained in:
parent
d3e6e3dec0
commit
5ebd163fd3
@ -31,6 +31,7 @@ import re
|
||||
import shutil
|
||||
import uuid
|
||||
import time
|
||||
import resource
|
||||
from datetime import datetime
|
||||
from qmemman_client import QMemmanClient
|
||||
|
||||
@ -868,6 +869,14 @@ class QubesVm(object):
|
||||
if verbose:
|
||||
print "--> Loading the VM (type = {0})...".format(self.type)
|
||||
|
||||
limit_memlock = resource.getrlimit(resource.RLIMIT_MEMLOCK)
|
||||
# try to increase limit if needed
|
||||
if limit_memlock[0] < int(self.memory) * 1024:
|
||||
# intentionally don't catch exceptions - if it fails - there is no
|
||||
# memory for new VM
|
||||
resource.setrlimit(resource.RLIMIT_MEMLOCK,
|
||||
(int(self.memory) * 1024, limit_memlock[1]))
|
||||
|
||||
mem_required = int(self.memory) * 1024 * 1024
|
||||
qmemman_client = QMemmanClient()
|
||||
if not qmemman_client.request_memory(mem_required):
|
||||
|
Loading…
Reference in New Issue
Block a user