diff --git a/mem/mem.go b/mem/mem.go index aae4d0d..87dfb53 100644 --- a/mem/mem.go +++ b/mem/mem.go @@ -57,6 +57,7 @@ type VirtualMemoryStat struct { Shared uint64 `json:"shared"` Slab uint64 `json:"slab"` PageTables uint64 `json:"pagetables"` + SwapCached uint64 `json:"swapcached"` } type SwapMemoryStat struct { diff --git a/mem/mem_linux.go b/mem/mem_linux.go index 726454b..e7540af 100644 --- a/mem/mem_linux.go +++ b/mem/mem_linux.go @@ -58,6 +58,8 @@ func VirtualMemory() (*VirtualMemoryStat, error) { ret.Slab = t * 1024 case "PageTables": ret.PageTables = t * 1024 + case "SwapCached": + ret.SwapCached = t * 1024 } } if !memavail { diff --git a/mem/mem_test.go b/mem/mem_test.go index dbdb9bf..346d02f 100644 --- a/mem/mem_test.go +++ b/mem/mem_test.go @@ -52,7 +52,7 @@ func TestVirtualMemoryStat_String(t *testing.T) { UsedPercent: 30.1, Free: 40, } - e := `{"total":10,"available":20,"used":30,"usedPercent":30.1,"free":40,"active":0,"inactive":0,"wired":0,"buffers":0,"cached":0,"writeback":0,"dirty":0,"writebacktmp":0,"shared":0,"slab":0,"pagetables":0}` + e := `{"total":10,"available":20,"used":30,"usedPercent":30.1,"free":40,"active":0,"inactive":0,"wired":0,"buffers":0,"cached":0,"writeback":0,"dirty":0,"writebacktmp":0,"shared":0,"slab":0,"pagetables":0,"swapcached":0}` if e != fmt.Sprintf("%v", v) { t.Errorf("VirtualMemoryStat string is invalid: %v", v) }