第三方包下载

$ github.com/shirou/gopsutil

获取内存方面的信息

<pre class="brush:go;gutter:true;">package main

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

func main() {
    v, _ := mem.VirtualMemory()
    fmt.Println(v)
}
<pre class="brush:go;gutter:true;">total // 内存大小
available // 闲置可用内存
used // 已使用内存
usedPercent // 已使用百分比

获取cpu方面的信息

<pre class="brush:go;gutter:true;">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)
}
<pre class="brush:go;gutter:true;">cpu // 具体cpu名称
user // 用户已使用cpu数值
system // 系统已使用cpu数值
idle // 闲置的cpu数值
.Total // 获取总cpu数值

Demo

<pre class="brush:go;gutter:true;">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)
}

-

标签: cpu, main, res, 本机, err, fmt, Golang, shirou

相关文章推荐

添加新评论,含*的栏目为必填