diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go index 95087690..f7b8f999 100644 --- a/libcontainer/cgroups/fs/memory.go +++ b/libcontainer/cgroups/fs/memory.go @@ -291,7 +291,9 @@ func getPageUsageByNUMA(cgroupPath string) (cgroups.PageUsageByNUMA, error) { stats := cgroups.PageUsageByNUMA{} file, err := os.Open(path.Join(cgroupPath, cgroupMemoryPagesByNuma)) - if err != nil { + if os.IsNotExist(err) { + return stats, nil + } else if err != nil { return stats, err } diff --git a/libcontainer/cgroups/fs/memory_test.go b/libcontainer/cgroups/fs/memory_test.go index c84b4fe3..52244fc7 100644 --- a/libcontainer/cgroups/fs/memory_test.go +++ b/libcontainer/cgroups/fs/memory_test.go @@ -504,3 +504,14 @@ func TestNoHierarchicalNumaStat(t *testing.T) { } expectPageUsageByNUMAEquals(t, pageUsageByNUMA, actualStats) } + +func TestWithoutNumaStat(t *testing.T) { + helper := NewCgroupTestUtil("memory", t) + defer helper.cleanup() + + actualStats, err := getPageUsageByNUMA(helper.CgroupPath) + if err != nil { + t.Fatal(err) + } + expectPageUsageByNUMAEquals(t, cgroups.PageUsageByNUMA{}, actualStats) +}