01-gopsutil包使用

gopsutil是一个跨平台的Golang库,用于系统监控,包括进程管理、系统诊断等,类似于Python的psutil库。它支持多种操作系统,并提供与ps、top等命令类似的接口。本文介绍了如何安装和使用gopsutil,例如收集CPU、磁盘、负载、内存、网络和进程信息。
摘要由CSDN通过智能技术生成

系统监控库-gopsutils

简介

在说gopsutils之前我们必须先说下psutils是啥, 因为gopsutils实际上就是一个golang版本的psutils(从名字上也能看出来)
psutils是一个比较出名的python库, psutilspython process and system utilities的一个缩写. 它有如下特点

  • 跨平台: Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and NetBSD的32位和64位系统
  • 功能丰富: 实现了进程管理,系统诊断, 这个库基本实现了这些命令行工具的功能: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap

如果想要了解关于gopsutils更多的详情 请查看gopsutils github地址

安装

go get  -v "github.com/shirou/gopsutil"

使用

具体的使用文档可以参考gopsutil的godoc文档
以下以测试收集cpu, disk, load, mem, net, process 为列, 注意这些对象都使用String方法, 因此可以直接调用fmt打印,String方法会将其转换成Json输出.

package main
import (
    "fmt"
    "github.com/shirou/gopsutil/cpu"
    "github.com/shirou/gopsutil/disk"
    "github.com/shirou/gopsutil/load"
    "github.com/shirou/gopsutil/mem"
    "github.com/shirou/gopsutil/net"
    "github.com/shirou/gopsutil/process"
)
func main() {
    fmt.Println("CPU统计:")
    c, _ := cpu.Info()
    fmt.Println(c)
    fmt.Println("内存统计:")
    m, _ := mem.VirtualMemory()
    fmt.Println(m)
    fmt.Println("磁盘用量和IO统计:")
    dp, _ := disk.Partitions(true)
    du, _ := disk.Usage("/")
    di, _ := disk.IOCounters()
    fmt.Println(du)
    fmt.Println(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值