Ubuntu 22.04 glances 安装与命令参数详解
在 Ubuntu 22.04 上从零安装 glances 3.2.4.2(在线与离线两种方式),并逐条实测全部命令行参数、Web/REST API/客户端模式与真实输出,附版本差异与命令速查表
Ubuntu 22.04 glances 安装与命令参数详解
目标:在 Ubuntu 22.04(x86_64)服务器上从零完成 glances 3.2.4.2 的在线与离线安装,逐条实测全部命令行参数、Curses 交互视图、Web/REST API 模式与客户端/服务器(C/S)模式,全部输出来自本机真实运行,作为生产环境选型与运维速查的依据。
一、环境信息
- 操作系统:Ubuntu 22.04(x86_64,软件源
archive.ubuntu.comjammy) - 主机名:
mon-ubuntu2204,运行时长 4 days 12:34:28 - 内核版本:本批次采集未单独记录(可用
uname -r查看);CPU 为 6 核(glances LOAD 上报6-core) - 工具版本:Glances v3.2.4.2 with PsUtil v5.9.0(Debian 源码包版本
3.2.4.2+dfsg-1,架构all,来自 Ubuntu universe) - 安装位置:
/usr/bin/glances(apt 系统包方式安装) - 内存:total 31.3G;Swap:total 2.00G(used 414M)
- 磁盘:
sda(分区 sda1/sda2/sda3)、sr0,根挂载 263G/786G - IP/网络:实测使用本机回环
127.0.0.1;默认网关处于探测中(界面显示DefaultGateway Scanning)
💡 说明:glances 由 apt 的
glances包提供,版本落后于 PyPI 最新版,但自带python3-bottle依赖,-wWeb 模式开箱即用(与 CentOS 8 的 pip 安装形成鲜明对比,详见「六、常见问题与真实行为」)。
二、工具概览
glances 是一个用 Python(psutil 库)编写的跨平台系统监控工具,一条命令即可在 Curses 全屏界面里同时展示 CPU、内存、交换分区、负载、网络、磁盘 I/O、文件系统、进程列表、TCP 连接数等数十个维度,是 top/htop 的轻量替代,也可作为远程监控中心使用。
它最核心的优势是多形态部署:同一套采集内核可以以以下方式对外提供服务:
- 独立(standalone)模式:本地 Curses 全屏监控;
- Web 服务器模式(
-w):内嵌 WebUI + RESTful API(默认端口 61208); - 客户端/服务器模式(
-s/-c):XML-RPC 远程监控(默认端口 61209); - 导出器(
--export):把指标推送到 InfluxDB、Prometheus、Graphite、StatsD、Kafka、MQTT、Elasticsearch 等 20 种后端,或直接落 CSV/JSON; - 标准输出(
--stdout/--stdout-csv):把指定指标的实时快照打印到 stdout,方便脚本消费。
监控维度涵盖 CPU(含逐核)、内存、Swap、负载、网络速率、TCP 连接状态、磁盘 I/O、文件系统、进程(可排序/过滤)、GPU、传感器温度、RAID、SMART 磁盘健康、WiFi 等。注意插件的完整清单可通过 --modules-list 查看(见 5.8),其中就包含对环境条件有依赖的可选插件(如 gpu、sensors、smart、raid 等),未满足依赖时对应面板不显示。
三、在线安装
在 Ubuntu 22.04 上,glances 位于官方 universe 软件源,直接用 apt 安装即可,同时会把 python3-bottle 等 Web 依赖一并装上(这正是 -w 能直接用的原因)。
# 1) 更新软件源索引
apt-get update
# 2) 在线安装 glances(系统包,架构为 all)
apt-get install -y glances
# 3) 验证已安装状态与版本
dpkg -l | grep glances
glances -V
ii glances 3.2.4.2+dfsg-1 all Curses-based monitoring tool
Glances v3.2.4.2 with PsUtil v5.9.0
Log file: /tmp/glances-root.log
💡 说明:本批次为批量安装多个监控工具的采集日志,
apt-get install glances的逐包回显未单独保留,此处以dpkg -l的已安装记录与glances -V的实测版本作为安装成功的依据;安装来源、版本号均为真实值。
四、离线安装
离线场景先在一台可联网的 Ubuntu 22.04 上把安装包下载到本地目录,再拷贝到目标机用 dpkg -i 安装。
# 1) 联网机器:仅下载不安装,把包落到本地目录(含全部依赖)
apt-get install --download-only -y glances
# 下载产物集中在 /root/offline-bundle 目录
# 2) 查看离线包清单(9 个文件,含 glances 主包)
ls -l /root/offline-bundle
du -sh /root/offline-bundle
9
1.8M /root/offline-bundle
atop_2.7.1-1_amd64.deb
glances_3.2.4.2+dfsg-1_all.deb
htop_3.0.5-7build2_amd64.deb
iotop_0.6-24-g733f3f8-1.1ubuntu0.1_amd64.deb
ltrace_0.7.3-6.1ubuntu6.22.04.1_amd64.deb
nmon_16n+debian-1_amd64.deb
strace_5.16-0ubuntu3_amd64.deb
sysstat_12.5.2-2ubuntu0.2_amd64.deb
# 3) 离线目标机:用 dpkg 安装本机已下载的 deb(本用例以同包重装示范)
dpkg -i /root/offline-bundle/glances_3.2.4.2+dfsg-1_all.deb
# 4) 再次验证版本
glances -V
Glances v3.2.4.2 with PsUtil v5.9.0
Log file: /tmp/glances-root.log
⚠️ 注意:glances 的 deb 包为
all架构(纯 Python),无平台二进制差异;但下载阶段日志中会出现W: Download is performed unsandboxed as root ...的告警,原因是/root目录下_apt用户无读取权限,不影响下载结果。
五、全部命令参数实测
5.1 -V / --version 查看版本
打印版本号与 PsUtil 版本,并提示日志文件路径(root 运行时为 /tmp/glances-root.log)。
glances -V
Glances v3.2.4.2 with PsUtil v5.9.0
Log file: /tmp/glances-root.log
结论:Ubuntu 22.04 apt 源提供的 glances 为 3.2.4.2 系,配套 PsUtil 5.9.0。
5.2 默认 Curses 交互界面(-t 秒级刷新)
不带任何参数即进入全屏监控。「第一行」是主机名 + 运行时长;「第二行」是 CPU/MEM/SWAP 的百分比与平均负载;下方依次是 CPU/MEM/SWAP 明细、网络速率、磁盘 I/O、文件系统与进程列表。
glances -t 1 # -t 1 表示最短刷新间隔 1 秒(默认 2 秒)
mon-ubuntu2204 Uptime: 4 days, 12:34:28
CPU 36.9% MEM 27.9% SWAP 20.2% LOAD 6-core
CPU [ 36.9%] user 11.2% total 31.3G total 2.00G 1 min: 1.64
MEM [ 27.9%] system 12.2% used 8.74G used 414M 5 min: 2.25
SWAP [ 20.2%] iowait 0.3% free 22.6G free 1.60G 15 min: 2.29
lo 56Kb 56Kb CPU% MEM% 7 PID USER THR NI S
3Kb 1008
0b 0
>0.0 0.1 9099 root 3 0 R python3 /u
DefaultGateway Scanning 0.0 0.1 9058 root 1 0 S python3 /u
0.0 0.1 23 root 1 -1 S systemd-jo
DISK I/O R/s W/s 0.0 0.1 43 root 1 0 S python3 /u
sda 8K 9.50M 0.0 0.0 1 root 1 0 S systemd --
sda1 0 0 0.0 0.0 39 systemd-r 1 0 S systemd-re
sda2 0 0 0.0 0.0 9096 root 1 0 S python3 /r
sda3 8K 9.50M 0.0 0.0 44 root 1 0 S systemd-lo
sr0 0 0 0.0 0.0 41 messagebu 1 0 S @dbus-daem
0.0 0.0 9085 root 1 0 S bash /root
_c/hostname 263G 786G 0.0 0.0 9097 root 1 0 S script -qc
2026-10-06 04:42:40 UTC6G
1
结论:这是 script 批处理捕获的完整 Curses 帧,字节列 lo 56Kb/56Kb、sda 8K/9.50M 等为收发速率;进程列 THR 为线程数、NI 为 nice 值、S 为状态(R 运行 / S 睡眠);左侧 DefaultGateway Scanning 表示网关仍在探测。
5.3 Curses 交互视图与被测按键
glances 全屏界面遵循 vim-like 的按键习惯,核心按键如下(k 在进程列表表头已实测可见 ('k' to kill) 提示):
| 按键 | 作用 |
|---|---|
q / Ctrl-C | 退出 |
h | 显示帮助 |
a | 进程列表自动排序,c 按 CPU%、m 按内存%、p 按进程名、i 按 I/O |
k | 选中/键入进程名以 kill(界面表头提示 ('k' to kill)) |
1 | 切换逐 CPU(percpu)模式,与 -1 等价 |
2/3/4/5/6 | 对应 -2/-3/-4/-5/-6 的布局开关 |
n / d / f | 分别显示/隐藏 网络、磁盘 I/O、文件系统面板 |
5.4 -1 / --percpu 逐 CPU 模式
把聚合 CPU 展开为每个逻辑核一行的详情(本机 6 核,捕获帧受终端高度限制只截取到 CPU0~CPU2)。
glances -1
mon-ubuntu2204 Uptime: 4 days, 12:34:32
user system idle iowait steal MEM 28.1% SWAP 20.2%
CPU0 [ 33.6%] 10.9% 7.3% 66.4% 0.0% 0.0% total 31.3G total 2.00G
CPU1 [ 49.2%] 36.7% 4.7% 50.8% 0.8% 0.0% used 8.78G used 414M
CPU2 [ 68.0%] 61.6% 4.0% 32.0% 0.0% 0.0% free 22.5G free 1.60G
lo 52Kb 52Kb CPU% MEM% PID USER THR NI S
>0.0 0.1 9115 root 4 0 R python3 /u
DefaultGateway Scanning 0.0 0.1 9058 root 1 0 S python3 /u
0.0 0.1 23 root 1 -1 S systemd-jo
DISK I/O R/s W/s 0.0 0.1 43 root 1 0 S python3 /u
sda 0 0 0.0 0.0 1 root 1 0 S systemd --
sda1 0 0 0.0 0.0 39 systemd-r 1 0 S systemd-re
sda2 0 0 0.0 0.0 9112 root 1 0 S python3 /r
2026-10-06 04:42:45 UTC 0
结论:每核的 user/system/idle/iowait/steal 单独展示,便于定位单核被打满的场景。
5.5 -2 / --disable-left-sidebar 精简模式
隐藏左侧网络、磁盘 I/O、文件系统与传感器面板,只保留顶部 QuickLook 与进程列表。
glances -2
mon-ubuntu2204 Uptime: 4 days, 12:34:36
CPU 31.3% MEM 27.9% SWAP 20.2% LOAD 6-core
CPU [ 31.3%] user 22.7% total 31.3G total 2.00G 1 min: 1.61
MEM [ 27.9%] system 4.2% used 8.72G used 414M 5 min: 2.22
SWAP [ 20.2%] iowait 0.0% free 22.6G free 1.60G 15 min: 2.28
TASKS 16 (18 thr), 1 run, 15 slp, 0 oth sorted automatically by CPU consumption
>0.0 0.1 9058 root 1 0 S python3 /usr/bin/glances -s -B 127.0.0
0.0 0.1 43 root 1 0 S python3 /usr/bin/networkd-dispatcher -
0.0 0.0 41 messagebu 1 0 S @dbus-daemon --system --address=system
0.0 0.0 9081 root 1 0 S agetty -o -p -- \u --noclear tty1 linu
0.0 0.0 9130 root 1 0 S sh -c glances -t 5 -2
结论:TASKS 16 (18 thr), 1 run, 15 slp 为任务/线程统计;进程默认按 CPU 消耗自动排序;注意进程列表里能看到 glances -s -B 127.0.0,说明同机还起了 server 模式进程。
5.6 -4 / --full-quicklook 仅 QuickLook 与负载
只保留顶部的 CPU/MEM/SWAP 快速概览条(含图形化 bar)和负载,隐藏其它所有面板。
glances -4
mon-ubuntu2204 Uptime: 4 days, 12:34:41
CPU [|||||||||||||||||| LOAD 6-core
MEM [|||||||||||||| 37.8%] 1 min: 1.56
SWAP [|||||||||| 28.3%] 5 min: 2.20
lo 61Kb 61Kb CPU% MEM% PID USER THR NI S n: 2.27
>0.0 0.1 9058 root 1 0 S python3 /u
DefaultGateway Scanning 0.0 0.1 9147 root 4 0 R python3 /u
0.0 0.1 23 root 1 -1 S systemd-jo
DISK I/O R/s W/s 0.0 0.1 43 root 1 0 S python3 /u
sda 0 0 0.0 0.0 1 root 1 0 S systemd --
结论:bar 形进度条直观反映占用比;-0(--disable-irix)可让进程 CPU 占用除以总核数、-3 隐藏 QuickLook、-5 隐藏顶部菜单、-6 切换 GPU 均值模式,属同一组布局开关。
5.7 -b / --byte 网络速率按字节显示
默认网络速率以「位」为单位(Kb/Mb/Gb,注意是小写 b 即 bit),加 -b 改为「字节/秒」(byte)。
glances -b
lo 0 0 TASKS 17 (19 thr), 1 run, 16 slp, 0 oth
结论:切换后速率列数值回落为字节单位;本例 lo 0/0 表明该时刻回环无流量。默认(位)便于观察链路带宽,字节(-b)便于统计实际吞吐。
5.8 --modules-list 模块与导出器清单
打印全部插件(采集模块)与导出器(数据后端)清单后退出,不进入监控界面。
glances --modules-list
Plugins list: alert, amps, cloud, connections, core, cpu, diskio, folders, fs, gpu, help, ip, irq, load, mem, memswap, network, now, percpu, ports, processcount, processlist, psutilversion, quicklook, raid, sensors, smart, system, uptime, wifi
Exporters list: cassandra, couchdb, csv, elasticsearch, graph, graphite, influxdb, influxdb2, json, kafka, mqtt, opentsdb, prometheus, rabbitmq, restful, riemann, statsd, zeromq
结论:插件覆盖 CPU/内存/网络/磁盘/进程/连接、GPU、传感器、RAID、SMART、WiFi 等维度(其中 gpu/sensors/smart/raid/wifi 等为条件插件,依赖不满足则面板不显示);导出器共 20 种,覆盖时序库、消息队列、对象存储与通用 CSV/JSON 落盘。该清单可直接用于设计数据接入方案。
5.9 --disable-plugin 禁用指定插件
逗号分隔地关闭某几个插件(本例禁用 network 与 diskio),也能用 --enable-plugin 反向启用。
glances --disable-plugin network,diskio
mon-ubuntu2204 Uptime: 4 days, 12:34:54
CPU 71.1% MEM 28.2% SWAP 20.2% LOAD 6-core
CPU [ 71.1%] user 46.1% total 31.3G total 2.00G 1 min: 2.43
MEM [ 28.2%] system 21.3% used 8.82G used 414M 5 min: 2.36
SWAP [ 20.2%] iowait 0.1% free 22.5G free 1.60G 15 min: 2.32
_c/hostname 263G 786G >0.0 0.1 9187 root 2 0 R python3 /u
/etc/hosts 263G 786G 0.0 0.1 9058 root 1 0 S python3 /u
_esolv.conf 263G 786G 0.0 0.1 23 root 1 -1 S systemd-jo
0.0 0.1 43 root 1 0 S python3 /u
0.0 0.0 1 root 1 0 S systemd --
结论:左侧 NETWORK 与 DISK I/O 面板消失,仅剩文件系统(_c/hostname、/etc/hosts、_esolv.conf 等挂载点,路径被帧截断)。
5.10 --sort-processes 进程排序
按内存占用(memory_percent)对进程列表排序;可选 cpu_percent、username、cpu_times、io_counters、name。
glances --sort-processes memory_percent
lo 53Kb 53Kb CPU% MEM% PID USER THR NI S
>0.0 0.1 9204 root 4 0 R python3 /u
DefaultGateway Scanning 0.0 0.1 9058 root 1 0 S python3 /u
0.0 0.1 23 root 1 -1 S systemd-jo
DISK I/O R/s W/s 0.0 0.1 43 root 1 0 S python3 /u
sda 0 0 0.0 0.0 1 root 1 0 S systemd --
结论:仅改变进程列表的排序键,其余面板布局不变;配合 -f(--process-filter,正则过滤器)与 --hide-kernel-threads 可用于进程排查。
5.11 --stdout-csv 实时 CSV 到标准输出
按 插件.字段 指定要输出的指标,以 CSV 形式打印到 stdout(首行表头 + 数据行)。
glances --stdout-csv cpu.user,mem.used,load.min1
cpu.user,mem.used,load.min1
15.6,9473196032,2.7607421875
结论:mem.used 以字节输出(9473196032 ≈ 8.82G),load.min1 为 1 分钟负载。该模式是脚本集成 glances 指标最简单的方式,可直接被 awk/监控采集脚本消费。
5.12 --export csv 导出历史 CSV(需 TTY 交互模式)
用 exporters 把指标持续落盘为 CSV。注意 --export csv 必须在交互/TTY 模式下运行,否则非 TTY 下采集一轮即退出、几乎无历史数据。
# 需在 TTY 上运行:持续采集并落盘到 /tmp/glances.csv
glances --export csv --export-csv-file /tmp/glances.csv -t 1
# 运行数秒后退出,统计导出的历史行数
wc -l /tmp/glances.csv
CSV 行数: 5
timestamp,cpu_total,cpu_user,cpu_nice,cpu_system,cpu_idle,cpu_iowait,cpu_irq,cpu_softirq,cpu_steal,cpu_guest,cpu_guest_nice,cpu_ti
2026-10-06 04:43:21,51.0,18.9,0.0,5.5,70.5,0.0,0.0,5.1,0.0,0.0,0.0,1.0215137004852295,6,22822,17506,3980,0,cpu_number,0,45.5,26.8,
结论:CSV 以 timestamp 开头、按时间累积多列指标(CPU 各状态、开机时长、进程数、网络等),适合离线做趋势分析。原始帧的表头与数据存在行尾截断(cpu_ti…、末位 …26.8,),这是批处理捕获的终端截断,非数据错误。
5.13 -w Web 服务器模式与 RESTful API(默认端口 61208)
-w 启动内嵌 WebUI 与 RESTful API。启动后探测首页与三种 API 版本前缀,并读取 /api/3/cpu 返回体。
# 后台启动 Web 服务器(apt 版自带 python3-bottle,无需额外依赖)
glances -w -B 127.0.0.1 -p 61208
# 探测 WebUI 与各版本 REST API 前缀
curl -s -o /dev/null -w "WebUI http://localhost:61208 -> HTTP %{http_code}\n" http://localhost:61208/
curl -s -o /dev/null -w " /api/2/cpu -> HTTP %{http_code}\n" http://localhost:61208/api/2/cpu
curl -s -o /dev/null -w " /api/3/cpu -> HTTP %{http_code}\n" http://localhost:61208/api/3/cpu
curl -s -o /dev/null -w " /api/4/cpu -> HTTP %{http_code}\n" http://localhost:61208/api/4/cpu
curl -s http://localhost:61208/api/3/cpu
WebUI http://localhost:61208 -> HTTP 200
REST API 探测:
/api/2/cpu -> HTTP 404
/api/3/cpu -> HTTP 200
/api/4/cpu -> HTTP 404
{"total": 36.0, "user": 17.5, "nice": 0.0, "system": 8.6, "idle": 66.7, "iowait": 0.0, "irq": 0.0, "softirq": 7.2, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update
结论:glances 3.x 的 REST API 前缀固定为 /api/3/,/api/2/* 与 /api/4/* 返回 404 是真实行为(并非服务异常)。/api/3/cpu 返回 JSON,字段与 cpu.* 插件一一对应(返回体尾部同样存在终端截断)。若只想暴露 API 不要页面,可用 glances -w --disable-webui;仅加 --open-web-browser 会自动打开浏览器。
5.14 -s / -c 客户端/服务器(C/S)模式(默认端口 61209/TCP)
服务端 -s 通过 XML-RPC 监听,客户端 -c <ip> 连接后展示远端的监控界面。
# 服务端:监听 127.0.0.1 的 61209/TCP
glances -s -B 127.0.0.1 -p 61209
# 客户端:连接服务端,展示远端主机监控界面
glances -c 127.0.0.1 -p 61209
Connected to mon-ubuntu2204 Uptime: 4 days, 12:35:22
CPU 45.7% MEM 28.0% SWAP 20.2% LOAD 6-core
CPU [ 45.7%] user 30.9% total 31.3G total 2.00G 1 min: 2.52
MEM [ 28.0%] system 10.4% used 8.77G used 414M 5 min: 2.39
SWAP [ 20.2%] iowait 0.1% free 22.5G free 1.60G 15 min: 2.34
lo 8Kb 8Kb CPU% MEM% PID USER THR NI S Command
结论:客户端首行显示 Connected to mon-ubuntu2204,即远端主机名;其余面板与本地模式完全一致。可用 --username/--password/-u 做鉴权,--browser 启动服务端浏览器(自动发现并列出多台 glances 服务器),--disable-autodiscover 关闭自动发现。
5.15 --help 帮助与其余常用参数
-h/--help 列出全部选项与官方示例(本机 3.2.4.2 的完整用法):
glances -h
usage: glances [-h] [-V] [-d] [-C CONF_FILE] [--modules-list]
[--disable-plugin DISABLE_PLUGIN]
[--enable-plugin ENABLE_PLUGIN] [--disable-process]
[--disable-webui] [--light] [-0] [-1] [-2] [-3] [-4] [-5] [-6]
[--disable-history] [--disable-bold] [--disable-bg]
[--enable-irq] [--enable-process-extended]
[--sort-processes {cpu_percent,memory_percent,username,cpu_times,io_counters,name}]
[--export EXPORT] [--export-csv-file EXPORT_CSV_FILE]
[--export-csv-overwrite] [--export-json-file EXPORT_JSON_FILE]
[--export-graph-path EXPORT_GRAPH_PATH] [-c CLIENT] [-s]
[--browser] [--disable-autodiscover] [-p PORT]
[-B BIND_ADDRESS] [--username] [--password] [-u USERNAME_USED]
[--snmp-community SNMP_COMMUNITY] [--snmp-port SNMP_PORT]
[--snmp-version SNMP_VERSION] [--snmp-user SNMP_USER]
[--snmp-auth SNMP_AUTH] [--snmp-force] [-t TIME] [-w]
[--cached-time CACHED_TIME] [--open-web-browser] [-q]
[-f PROCESS_FILTER] [--process-short-name]
[--process-long-name] [--stdout STDOUT]
[--stdout-csv STDOUT_CSV] [--issue] [--api-doc]
[--hide-kernel-threads] [-b] [--diskio-show-ramfs]
[--diskio-iops] [--fahrenheit] [--fs-free-space] [--sparkline]
[--theme-white] [--disable-check-update]
[--strftime STRFTIME_FORMAT]
官方示例(节选,均为真实回显):
Examples of use:
Monitor local machine (standalone mode):
$ glances
Display all Glances modules (plugins and exporters) and exit:
$ glances --module-list
Monitor local machine with the Web interface and start RESTful server:
$ glances -w
Glances web server started on http://0.0.0.0:61208/
Only start RESTful API (without the WebUI):
$ glances -w --disable-webui
Glances API available on http://0.0.0.0:61208/api/
Start a Glances XML-RPC server (server mode):
$ glances -s
Connect Glances to a Glances XML-RPC server (client mode):
$ glances -c <ip_server>
Display stats to stdout (one stat per line):
$ glances --stdout now,cpu.user,mem.used,load
Display CSV stats to stdout (all stats in one line):
$ glances --stdout-csv now,cpu.user,mem.used,load
其余参数速查见「七、命令与参数速查表」。
六、常见问题与真实行为
6.1 REST API 只有 /api/3/* 有效,/api/2、/api/4 返回 404
- 现象:
curl /api/2/cpu与/api/4/cpu均返回 HTTP 404,仅/api/3/cpu返回 200 + JSON。 - 原因:glances 3.x 对外 REST 前缀固定为
/api/3/(与其内部 API 版本号一致),v2/v4 路径本就不存在,返回 404 属预期行为。 - 解决:对接 REST API 时统一使用
/api/3/<plugin>,不要照搬/api/2或/api/4。
6.2 Web 模式 -w 依赖 bottle(apt vs pip 行为差异)
- 现象:Ubuntu 22.04 apt 安装的 glances 直接
-w即可返回 HTTP 200;而 pip 版(见 CentOS 8 篇)若未单独安装 bottle,-w启动失败、端口无监听、curl得到 HTTP 000。 - 原因:
-w依赖python3-bottle;apt 包把它作为依赖/推荐包自动装上,pip 的裸安装(pip install glances)不携带 bottle(其 web 能力封装在glances[web]extras 中)。 - 解决:apt 版无需处理;pip 版需先
pip install bottle或pip install "glances[web]"。
6.3 CSV 导出(--export csv)需交互/TTY 模式
- 现象:在后台管道/非 TTY 下运行
--export csv几乎不产生历史行。 - 原因:exporters 随主采集循环落盘;非 TTY 下 glances 采集一轮即退出,只有持续运行才累积数据。
- 解决:在真实终端(或
script会话)中运行并保持数秒,退出后用wc -l校验行数(本机实测 5 行)。
6.4 版本与安装路径差异(Ubuntu apt 3.2.4.2 vs CentOS pip 3.2.7)
- Ubuntu 22.04:apt 系统包
glances 3.2.4.2+dfsg-1(all),安装在/usr/bin/glances,配套 PsUtil 5.9.0,-w开箱即用。 - CentOS 8:
pip3 install glances得到 3.2.7,安装在/usr/local/bin/glances,配套 PsUtil 7.2.2(进程显示为python3.6),需额外装 bottle 才能-w。 - 影响:脚本若硬编码
/usr/bin/glances,在 pip 环境会找不到;建议统一用command -v glances定位。
6.5 界面的 Scanning 与终端截断痕迹
DefaultGateway Scanning:网关探测尚未完成的中间态,并非错误;网络面板的lo/sda前缀、尾部…26.8,等是script批处理捕获对 Curses 帧的截断,不是数据异常。- 建议:阅读本文所有 Curses 帧时忽略左右边缘的裁剪;真实终端中窗口越宽显示越完整。
6.6 --sort-processes 与 --stdout-csv 的语义边界
--sort-processes只改变进程列表排序键(memory_percent/cpu_percent/name等),不影响其它面板与导出。--stdout-csv只打印实时快照(表头 + 当轮数据),不累积历史;要历史数据请用--export csv/json。
七、命令与参数速查表
| 参数/命令 | 含义 | 实测说明/默认值 |
|---|---|---|
-V/--version | 打印版本并退出 | Glances v3.2.4.2 with PsUtil v5.9.0 |
-h/--help | 帮助与示例 | 见 5.15 |
-d/--debug | 调试模式 | 输出调试日志 |
-C <file> | 指定配置文件 | 默认读 glances.conf |
--modules-list | 列出插件/导出器清单 | 34 插件 + 20 导出器(5.8) |
--disable-plugin <list> | 禁用插件(逗号分隔) | 实测禁 network,diskio(5.9) |
--enable-plugin <list> | 启用插件(逗号分隔) | 与禁用反向 |
--disable-process | 关闭进程模块 | — |
--disable-webui | 关 WebUI 只留 API | 配合 -w 用 |
--light | Curses 轻量模式 | 只保留顶部菜单 |
-0/--disable-irix | 进程 CPU% 除以总核数 | — |
-1/--percpu | 逐 CPU 模式 | 实测逐核展示(5.4) |
-2/--disable-left-sidebar | 隐藏左栏网络/磁盘/FS/传感器 | 实测(5.5) |
-3/--disable-quicklook | 隐藏 QuickLook | — |
-4/--full-quicklook | 仅 QuickLook 与负载 | 实测(5.6) |
-5/--disable-top | 隐藏顶部菜单 | — |
-6/--meangpu | GPU 均值模式 | 需 GPU 插件 |
--sort-processes <key> | 进程排序键 | 实测 memory_percent(5.10) |
--export <list> | 启用导出器 | 实测 csv(5.12) |
--export-csv-file <path> | CSV 文件路径 | 实测 /tmp/glances.csv |
--export-csv-overwrite | 覆盖已有 CSV | — |
--export-json-file <path> | JSON 文件路径 | — |
--export-graph-path <dir> | Graph 导出目录 | — |
-c/--client <host> | 连接远端 glances 服务器 | 实测(5.14) |
-s/--server | 服务器(XML-RPC)模式 | 实测(5.14) |
--browser | 启动客户端浏览器(列出多台服务器) | — |
--disable-autodiscover | 关闭自动发现 | — |
-p/--port <port> | C/S 端口 | 默认 61209 |
-B/--bind <addr> | 绑定地址 | 实测 127.0.0.1 |
--username/--password/-u <user> | C/S 鉴权 | — |
--snmp-* | SNMP 采集相关 | 仅 SNMP 模式 |
-t/--time <sec> | 最短刷新间隔 | 默认 2 秒,实测 1/5 秒 |
-w/--webserver | Web 服务器模式 | 默认 61208,实测 200(5.13) |
--cached-time <sec> | 服务器缓存时间 | 默认 1 秒 |
--open-web-browser | 启动后打开浏览器 | — |
-q/--quiet | 不显示 Curses 界面 | 配合 stdout 用 |
-f/--process-filter <re> | 进程正则过滤 | — |
--process-short-name/--process-long-name | 进程名长短 | — |
--stdout <list> | 逐行输出到 stdout | — |
--stdout-csv <list> | CSV 输出到 stdout | 实测(5.11) |
--issue | 自检全部插件并退出 | — |
--api-doc | 显示字段说明 | — |
--hide-kernel-threads | 隐藏内核线程 | — |
-b/--byte | 网络速率按字节显示 | 实测(5.7) |
--fahrenheit | 温度用华氏度 | 默认摄氏度 |
--fs-free-space | FS 显示剩余空间 | 默认已用 |
--sparkline | 用 sparkline 代替 bar | — |
--theme-white | 白底配色 | — |
--disable-check-update | 关闭在线更新检查 | — |
--strftime <fmt> | 独立模式日期格式 | — |
八、卸载方式
glances 通过 apt 安装,卸载同样用 apt(彻底清理配置文件加 purge):
# 卸载 glances(保留配置文件)
apt-get remove -y glances
# 彻底卸载并删除配置
apt-get purge -y glances
⚠️ 注意:若后续不再需要 Web 依赖,可用
apt-get autoremove -y清理异常引入的python3-bottle等包(需确认无其它程序依赖)。