【Golang】gopsutil包常用监控资源信息API
大家好 我是寸铁👊
总结了一篇【Golang】gopsutil包常用监控资源信息API✨
喜欢的小伙伴可以点点关注 💝
前言
本文涵盖了最常用的系统资源监控函数,可以直接拿函数进行调用,非常方便
- 先安装
gopsutil
包
go get -u `github.com/shirou/gopsutil`
- 或者导入后用
go mod
引入
go mod tidy
CPU
获取Cpu相关的全部信息
// 获取Cpu相关的全部信息
func getCpuAllInfo() {
cpuInfo, _ := cpu.Info()
fmt.Println("返回cpu的具体信息:", cpuInfo)
}
返回cpu执行不同操作所花费的时间
// 返回cpu执行不同操作所花费的时间
func getCpuCountsTimes() {
cpuCounts, _ := cpu.Times(false)
fmt.Println("返回cpu执行不同操作所花费的时间 工作种类:", cpuCounts)
//TimesStat 包含 CPU 执行不同操作所花费的时间 工作种类。时间单位以秒为单位。它基于 linux /proc/stat 文件。
}
返回CPU的使用率
// 返回CPU的使用率
func getCpuPercent() {
cpuPercent, _ := cpu.Percent(time.Second, false)
fmt.Println("返回cpu的使用率:", cpuPercent)
}
内存
获取物理内存和交换区内存信息
// 获取物理内存和交换区内存信息
func getVirtualMemory() {
m1, _ := mem.VirtualMemory()
fmt.Println("返回虚拟内存的信息:", m1)
}
返回交换内存的信息
// 返回交换内存的信息
func getSwapMemory() {
m2, _ := mem.SwapMemory()
fmt.Println("返回交换内存的信息:", m2)
}
返回交换设备的信息
// 返回交换设备的信息
func getSwapDevices() {
devices, _ := mem.SwapDevices()
fmt.Println("返回交换设备的信息:", devices)
}
磁盘
返回有关文件系统挂载点的信息
// 返回有关文件系统挂载点的信息
func getDiskPartitions() {
//可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息
d1, _ := disk.Partitions(true) //所有分区
fmt.Println("有关文件系统挂载点的信息:", d1)
}