gopsutil
11,941
Stars
1,694
Forks
206
Watchers
230
Open Issues
NOASSERTION
许可证
Go
语言
2014-04-18
创建时间
2026-11-12
最近更新
项目能做什么
Go 语言实现的系统监控与进程管理库(Go 版 psutil)。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# gopsutil: psutil for Go
[](https://github.com/shirou/gopsutil/actions/workflows/test.yml) [](https://pkg.go.dev/github.com/shirou/gopsutil/v4) [](https://calver.org/)
This is a port of psutil (https://github.com/giampaolo/psutil). The
challenge is porting all psutil functions on some architectures.
## migration
### v4 migration
There are some breaking changes. Please see [v4 release note](https://github.com/shirou/gopsutil/releases/tag/v4.24.5).
## Tag semantics
gopsutil tag policy is almost same as Semantic Versioning, but
automatically increases like [Ubuntu versioning](https://calver.org/).
For example, v4.24.04 means
- v4: major version
- 24: release year, 2024
- 04: release month
gopsutil aims to keep backwards compatibility until major version change.
Tagged at every end of month, but if there are only a few commits, it
can be skipped.
## Available Architectures
- FreeBSD i386/amd64/arm
- Linux i386/amd64/arm(raspberry pi)
- Windows i386/amd64/arm/arm64
- Darwin amd64/arm64
- OpenBSD i386/amd64/armv7/arm64/riscv64 (Thank you @mpfz0r!)
- Solaris amd64 (developed and tested on SmartOS/Illumos, Thank you @jen20!)
These have partial support:
- CPU on DragonFly BSD (#893, Thank you @gballet!)
- host on Linux RISC-V (#896, Thank you @tklauser!)
All works are implemented without cgo by porting C structs to Go structs.
## Usage
```go
package main
import (
"fmt"
"github.com/shirou/gopsutil/v4/mem"
)
func main() {
v, _ := mem.VirtualMemory()
// almost every return value is a struct
fmt.Printf("Total: %v, Free:%v, UsedPercent:%f%%\n", v.Total, v.Free, v.UsedPercent)
// convert to JSON. String() is also implemented
fmt.Println(v)
}
```
The output is below.
Total: 3179569152, Free:284233728, UsedPercent:84.508194%
{"total":3179569152,"available":492572672,"used":2895335424,"usedPercent":84.50819439828305, (snip...)}
You can set alternative locations for various system directories by using the following environment variables:
- /proc: `HOST_PROC`
- /sys: `HOST_SYS`
- /etc: `HOST_ETC`
- /var: `HOST_VAR`
- /run: `HOST_RUN`
- /dev: `HOST_DEV`
- /: `HOST_ROOT`
- /proc/N/mountinfo: `HOST_PROC_MOUNTINFO`
### Adding settings using `context` (from v3.23.6)
As of v3.23.6, it is now possible to pass a path location using `context`: import `"github.com/shirou/gopsutil/v3/common"` and pass a context with `common.EnvMap` set to `common.EnvKey`, and the location will be used within each function.
```
ctx := context.WithValue(context.Background(),
common.EnvKey, common.EnvMap{common.HostProcEnvKey: "/myproc"},
)
v, err := mem.VirtualMemoryWithContext(ctx)
```
First priority is given to the value set in `context`, then the value from the environment variable, and
阅读完整原文
项目深度分析 AI 生成
极简跨平台边缘/独立主机监控系统(轻量级 SaaS)
| 产品构想 | 利用 gopsutil 无 cgo 依赖的特性,构建仅几 MB 大小的单文件监控 Agent,采集多架构节点(如 Raspberry Pi, Windows Server, Linux VPS)指标并上报给极简看板。 |
| 核心功能 | 单二进制采集探针、低 CPU/内存占用、系统资源(CPU/内存/磁盘/进程)大盘、邮件/WebHook 异常告警、多平台支持(包含 ARM/Windows)。 |
| 目标用户 | 中小企业站长、独立开发者、轻量级边缘节点运维团队。 |
| 难度/周期 | 中等 · 1-2 个月 · 成本:极低(云服务器与时序存储成本) |
| 收费模式 | Freemium 模式(免费支持 3-5 台节点,超出节点按月/年订阅计费)。 |
| 竞争风险 | 面对 Node Exporter/Datadog 等成熟方案竞争激烈,功能深度不足可能难留存用户。 |
| 依据 | 已验证事实 |
跨平台主机合规与进程安全审计探针(企业安全工具)
| 产品构想 | 基于 gopsutil 深度提取系统运行环境、开机时间、敏感目录挂载与异常进程特征,输出符合安全合规要求的审计报告工具。 |
| 核心功能 | 未知进程监测、系统资产快照比对、平台专有指标提取(基于 Ex struct)、基线安全巡检与导出报表。 |
| 目标用户 | 需要过安全合规(如 SOC2, ISO27001)的中小型出海企业、混合平台(Windows/Linux 混部)内网 IT 运维。 |
| 难度/周期 | 中等 · 2-3 个月 · 成本:低(开发环境与跨平台测试机器) |
| 收费模式 | 企业买断授权或年付按被纳管主机数量授权许可。 |
| 竞争风险 | 安全专业壁垒较高,需要对主机入侵防御和合规标准有较多业务认知(推测)。 |
| 依据 | 尚需验证的假设 |
私有化轻量级 APM / 性能剖析分析探针 SDK(面向内网开发)
| 产品构想 | 为内网微服务或嵌入式/边缘 Go 服务提供内置开箱即用的系统状态暴露 SDK 与开箱即用小组件,无需安装庞大的外部 Agent 即可嵌入业务服务中输出系统瓶颈分析。 |
| 核心功能 | 非侵入式 Go SDK、动态自适应 Proc 路径注入(基于 Context/EnvMap 特性)、低资源消耗告警触发器。 |
| 目标用户 | 受限网络/内网开发团队、Go 微服务开发团队、无 root 权限的应用运维人员。 |
| 难度/周期 | 较低 · 2-4 周 · 成本:极低 |
| 收费模式 | 核心开源 + 付费技术支持服务,或提供商业化分析 UI 面板组件。 |
| 竞争风险 | 开源替代方案极多(如 Prometheus client_golang),纯 SDK 类产品收费阻力大。 |
| 依据 | 数据支持的判断 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| avelino/awesome-go | 中文介绍暂未生成 A curated list of awesome Go frameworks, libraries and softw |
193,476 | Go |
| golang/go | 中文介绍暂未生成 The Go programming language |
139,864 | Go |
| krahets/hello-algo | 中文介绍暂未生成 《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語,提供 Python |
132,262 | Python |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2014-04-18,近 30 天仍在推送,发布过 51 个 Release |
| 社区活跃 | Star 11,941 / Fork 1,694 / Issue 230(数据支持,可自行核实) |
| 许可证 | NOASSERTION |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。