diff --git a/internal/server/instance/drivers/driver_lxc.go b/internal/server/instance/drivers/driver_lxc.go index 9ab887a8a4..8117ab3c71 100644 --- a/internal/server/instance/drivers/driver_lxc.go +++ b/internal/server/instance/drivers/driver_lxc.go @@ -1148,15 +1148,22 @@ func (d *lxc) initLXC(config bool) (*liblxc.Container, error) { return nil, err } } else { - if d.state.OS.CGInfo.Supports(cgroup.MemorySwap, cg) && util.IsFalse(memorySwap) { + if d.state.OS.CGInfo.Supports(cgroup.MemorySwap, cg) { err = cg.SetMemoryLimit(valueInt) if err != nil { return nil, err } - err = cg.SetMemorySwapLimit(0) - if err != nil { - return nil, err + if util.IsFalse(memorySwap) { + err = cg.SetMemorySwapLimit(0) + if err != nil { + return nil, err + } + } else { + err = cg.SetMemorySwapLimit(valueInt) + if err != nil { + return nil, err + } } } else { err = cg.SetMemoryLimit(valueInt) @@ -4505,17 +4512,25 @@ func (d *lxc) Update(args db.InstanceArgs, userRequested bool) error { return err } } else { - if d.state.OS.CGInfo.Supports(cgroup.MemorySwap, cg) && util.IsFalse(memorySwap) { + if d.state.OS.CGInfo.Supports(cgroup.MemorySwap, cg) { err = cg.SetMemoryLimit(memoryInt) if err != nil { revertMemory() return err } - err = cg.SetMemorySwapLimit(0) - if err != nil { - revertMemory() - return err + if util.IsFalse(memorySwap) { + err = cg.SetMemorySwapLimit(0) + if err != nil { + revertMemory() + return err + } + } else { + err = cg.SetMemorySwapLimit(memoryInt) + if err != nil { + revertMemory() + return err + } } } else { err = cg.SetMemoryLimit(memoryInt)