diff --git a/pkg/kubelet/api/v1alpha1/stats/types.go b/pkg/kubelet/api/v1alpha1/stats/types.go index 91229286070..ce3144685a4 100644 --- a/pkg/kubelet/api/v1alpha1/stats/types.go +++ b/pkg/kubelet/api/v1alpha1/stats/types.go @@ -133,6 +133,9 @@ type MemoryStats struct { // The amount of working set memory. This includes recently accessed memory, // dirty memory, and kernel memory. UsageBytes is <= TotalBytes. WorkingSetBytes *uint64 `json:"workingSetBytes,omitempty"` + // The amount of anonymous and swap cache memory (includes transparent + // hugepages). + RSSBytes *uint64 `json:"rssBytes,omitempty"` // Cumulative number of minor page faults. PageFaults *uint64 `json:"pageFaults,omitempty"` // Cumulative number of major page faults. diff --git a/pkg/kubelet/server/stats/summary.go b/pkg/kubelet/server/stats/summary.go index a288e7c7e29..56c370a0b11 100644 --- a/pkg/kubelet/server/stats/summary.go +++ b/pkg/kubelet/server/stats/summary.go @@ -280,6 +280,7 @@ func (sb *summaryBuilder) containerInfoV2ToStats( Time: unversioned.NewTime(cstat.Timestamp), UsageBytes: &cstat.Memory.Usage, WorkingSetBytes: &cstat.Memory.WorkingSet, + RSSBytes: &cstat.Memory.RSS, PageFaults: &pageFaults, MajorPageFaults: &majorPageFaults, } diff --git a/pkg/kubelet/server/stats/summary_test.go b/pkg/kubelet/server/stats/summary_test.go index e67bda8251b..bb5b1ef9d3a 100644 --- a/pkg/kubelet/server/stats/summary_test.go +++ b/pkg/kubelet/server/stats/summary_test.go @@ -39,6 +39,7 @@ const ( offsetMemPageFaults offsetMemMajorPageFaults offsetMemUsageBytes + offsetMemRSSBytes offsetMemWorkingSetBytes offsetNetRxBytes offsetNetRxErrors @@ -258,6 +259,7 @@ func summaryTestContainerInfo(seed int, podName string, podNamespace string, con Memory: &v1.MemoryStats{ Usage: uint64(seed + offsetMemUsageBytes), WorkingSet: uint64(seed + offsetMemWorkingSetBytes), + RSS: uint64(seed + offsetMemRSSBytes), ContainerData: v1.MemoryStatsMemoryData{ Pgfault: uint64(seed + offsetMemPageFaults), Pgmajfault: uint64(seed + offsetMemMajorPageFaults), @@ -310,6 +312,7 @@ func checkMemoryStats(t *testing.T, label string, seed int, stats *kubestats.Mem assert.EqualValues(t, testTime(timestamp, seed).Unix(), stats.Time.Time.Unix(), label+".Mem.Time") assert.EqualValues(t, seed+offsetMemUsageBytes, *stats.UsageBytes, label+".Mem.UsageBytes") assert.EqualValues(t, seed+offsetMemWorkingSetBytes, *stats.WorkingSetBytes, label+".Mem.WorkingSetBytes") + assert.EqualValues(t, seed+offsetMemRSSBytes, *stats.RSSBytes, label+".Mem.RSSBytes") assert.EqualValues(t, seed+offsetMemPageFaults, *stats.PageFaults, label+".Mem.PageFaults") assert.EqualValues(t, seed+offsetMemMajorPageFaults, *stats.MajorPageFaults, label+".Mem.MajorPageFaults") }