github.com/opencontainers/runtime-tools@v0.9.0/validation/linux_cgroups_relative_memory/linux_cgroups_relative_memory.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/mndrix/tap-go"
     5  	"github.com/opencontainers/runtime-tools/cgroups"
     6  	"github.com/opencontainers/runtime-tools/validation/util"
     7  )
     8  
     9  func main() {
    10  	var limit int64 = 50593792
    11  	var swappiness uint64 = 50
    12  
    13  	t := tap.New()
    14  	t.Header(0)
    15  	defer t.AutoPlan()
    16  
    17  	g, err := util.GetDefaultGenerator()
    18  	if err != nil {
    19  		util.Fatal(err)
    20  	}
    21  	g.SetLinuxCgroupsPath(cgroups.RelCgroupPath)
    22  	g.SetLinuxResourcesMemoryLimit(limit)
    23  	g.SetLinuxResourcesMemoryReservation(limit)
    24  	g.SetLinuxResourcesMemorySwap(limit)
    25  	g.SetLinuxResourcesMemoryKernel(limit)
    26  	g.SetLinuxResourcesMemoryKernelTCP(limit)
    27  	g.SetLinuxResourcesMemorySwappiness(swappiness)
    28  	g.SetLinuxResourcesMemoryDisableOOMKiller(true)
    29  	err = util.RuntimeOutsideValidate(g, t, util.ValidateLinuxResourcesMemory)
    30  	if err != nil {
    31  		t.Fail(err.Error())
    32  	}
    33  }