Golang利用第三方包获取本机cpu使用率以及内存使用情况

第三方包下载

$ github.com/shirou/gopsutil

获取内存方面的信息

package main

import (
	"fmt"
	"github.com/shirou/gopsutil/mem"
)

func main() {
	v, _ := mem.VirtualMemory()
	fmt.Println(v)
}

  

total // 内存大小
available // 闲置可用内存
used // 已使用内存
usedPercent // 已使用百分比

  

获取cpu方面的信息

package main

import (
	"fmt"
	"github.com/shirou/gopsutil/cpu"
)

func main() {

	res, err := cpu.Times(false) // false是展示全部总和 true是分布展示
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(res)
}
cpu // 具体cpu名称
user // 用户已使用cpu数值
system // 系统已使用cpu数值
idle // 闲置的cpu数值
.Total // 获取总cpu数值

  

Demo  

package main

import (
	"fmt"
	"github.com/shirou/gopsutil/cpu"
	"github.com/shirou/gopsutil/mem"
)

func main() {
	v, _ := mem.VirtualMemory()
	res, err := cpu.Times(false)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(res[0].Total(),res[0].User,res[0].System,res[0].Idle)
	fmt.Printf("总内存: %v MB, 已使用:%v MB, 已使用百分比:%.f%%\n", v.Total>>20, v.Used>>20, ((res[0].Total()-res[0].Idle)/res[0].Total())*100)
}

  

 

猜你喜欢

转载自www.cnblogs.com/binHome/p/12238070.html