github.com/qxnw/lib4go@v0.0.0-20180426074627-c80c7e84b925/sysinfo/memory/memory.go (about)

     1  package memory
     2  
     3  import "github.com/shirou/gopsutil/mem"
     4  import "runtime"
     5  
     6  // Useage Total总量,Idle空闲,Used使用率,Collercter总量,使用量
     7  type Useage struct {
     8  	Total       uint64  `json:"total"`
     9  	Idle        uint64  `json:"idle"`
    10  	Used        uint64  `json:"used"`
    11  	UsedPercent float64 `json:"percent"`
    12  }
    13  
    14  // GetInfo 获取当前系统内存使用数据
    15  func GetInfo() (useage Useage) {
    16  	vm, _ := mem.VirtualMemory()
    17  	useage.Total = vm.Total
    18  	useage.Idle = vm.Free
    19  	useage.Used = vm.Used
    20  	useage.UsedPercent = vm.UsedPercent
    21  	return
    22  }
    23  
    24  //GetAPPMemory 获取当前应用程序占用的内存大小
    25  func GetAPPMemory() uint64 {
    26  	var mem runtime.MemStats
    27  	runtime.ReadMemStats(&mem)
    28  	return mem.TotalAlloc >> 20
    29  }