glances 4.5.8 在本机能跑出真实数据:12 核 CPU、31.9 GB 内存、占用 81.6%,一条命令就能吐快照。

Web 面板要单独装一次,pip install glances[web] 带上 fastapi 和 uvicorn。我第一次只装了基本包,跑 -w 就报错,查了 extras 列表才知道要加后缀。

测试环境 Windows 10 22H2 加 Python 3.13.12,版本 4.5.8,PsUtil 7.2.2。

装的时候遇到什么

装的时候有两个情况值得记一下:

  • 清华镜像没有这个包,pip 直接报找不到任何一个版本
  • 换官方源才装上,47 秒装完

这是最近第二次碰到镜像缺包,上一次是 cn2an。镜像同步不全的时候,换源比反复重试快。

不开界面能看数据吗

能。--stdout 会往里吐快照,每两秒一行:

glances --stdout cpu,mem --disable-plugin all --enable-plugin cpu,mem

CPU 部分给的是 total 22.1、user 17.7、system 7.2、idle 74.5,还带一个 cpucore 12。

内存部分更直接:

字段值
total34212798464 字节(31.9 GB)
available6297468928(5.9 GB)
used27915329536
percent81.6

连续看三行能看到变化:CPU 从 22.1 涨到 28.5 再到 31.0,ctx_switches_gauge 从 231834604 爬到 232049899。

有个细节:前两行只有累计值,第三行才出现速率。第三行多出 ctx_switches_rate_per_sec 52973 和 interrupts_rate_per_sec 33177。因为它要先有两次采样才能算差值,脚本里第一次调用取不到速率。

Web 模式为什么开不了

缺 fastapi。启动时它自己会说:

FastAPI import error: No module named 'fastapi'
Glances cannot start in web server mode.

缺的是这两个包:

  • fastapi:提供 HTTP 接口
  • uvicorn:跑服务的 ASGI 容器
pip install fastapi uvicorn

装完再跑 glances -w --port 61208,第 6 秒接口就通了。服务端日志打出 Uvicorn running on http://0.0.0.0:61208。

GET /api/4/status 返回 {"version": "4.5.8"},GET /api/4/cpu 返回完整 JSON,字段和命令行一致。

注意刚起来时 CPU 那些值是 0,要等第一次采样周期过了才有数。

一个坑:本机代理会拦住 127.0.0.1

我第一次测接口,一直返回 HTTP 502 Bad Gateway。

不是服务没起来,是这台机器设了系统代理,连本地回环地址也被转发出去,代理那边自然回 502。把代理关掉(Python 里用空的 ProxyHandler)之后才连上。

关掉代理后如果服务真没起来,报的是另一个错:WinError 10061 由于目标计算机积极拒绝。502 和 10061 要分清,前者是代理在挡,后者才是端口没人听。

常见问题

为什么 pip 装完没有 Web 界面

web 是可选依赖。装的时候写 pip install glances[web] 才会带上 fastapi 和 uvicorn,只装 glances 就只有命令行。

能监控别的机器吗

它支持服务端模式(-s)和远程连接,这次没测多机场景。

数据能存下来吗

有历史数据落库的插件,这次没开,也没验证。

Windows 上准吗

CPU 和内存这两项实测正常,12 核和 31.9 GB 跟系统信息一致。磁盘、网络、进程这些没逐个核对。

适合谁

如果你要在服务器上快速看 CPU 和内存,又不想装一堆 agent,它一条 pip 命令就能用,顺手还能起个 Web 面板给同事看。

不习惯命令行的,装完记得补 fastapi,否则点 -w 会直接报错,很容易以为装坏了。