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

Posted binhome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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%%
", v.Total>>20, v.Used>>20, ((res[0].Total()-res[0].Idle)/res[0].Total())*100)
}

  

 

以上是关于Golang利用第三方包获取本机cpu使用率以及内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章

Golang basic_leaminggo mod 以及包详解

Golang:线程模型,CSP,MPG

Golang:线程模型,CSP,MPG

Golang:线程模型,CSP,MPG

golang中mysql连接池使用

Python多线程常用包对比