登录
首页 >  文章 >  linux

Linux下Glances监控工具使用详解

时间:2026-04-12 21:10:38 110浏览 收藏

Glances 是一款开箱即用却极易被误解的终端全能监控工具,它能一站式呈现 CPU、内存、磁盘 I/O、网络、进程等核心指标,但“看起来不准”或“卡顿失灵”往往不是软件缺陷,而是默认配置与真实环境(如容器权限、SSH 稳定性、cgroups v2、UTF-8 渲染机制)之间的隐性冲突——掌握关键启动参数(如 `-d 2` 降频、`--disable-web` 关闭后台服务、`-1` 单次快照)、理解统计逻辑差异(如 CPU 均值 vs 单核归一化)、排查底层权限缺口(如 `/sys/class/block/*/stat` 可读性、`SYS_ADMIN` 能力),才是真正释放 Glances 精准监控价值的关键。

Linux下使用Glances监控工具 终端一站式查看系统资源占用【教程】

Glances 是一个终端里能同时看 CPU、内存、磁盘 I/O、网络、进程、文件系统等指标的监控工具,装完就能用,不需要额外配置——但默认行为和常见误操作会让它“看起来不准”或“刷新卡顿”,关键在启动参数和插件理解。

glances 启动后 CPU 占用高、终端卡顿怎么办

默认启用 Web 服务和历史数据收集(psutil 高频采样),对低配机器或 SSH 连接不稳的环境很不友好。

  • -d 2 把刷新间隔从 1 秒拉到 2 秒,明显缓解压力
  • 禁用 Web 服务:启动时加 --disable-web,避免后台监听 0.0.0.0:61208
  • 禁用历史图表(减少内存占用):--disable-history
  • 如果只看当前快照,用 glances -1(单次输出后退出),适合脚本调用

为什么 top 显示的 CPU% 和 glances 不一致

不是 bug,是统计口径不同:glances 默认显示的是所有逻辑 CPU 的平均使用率(即 “整体负载均值”),而 top 默认按单个 CPU 核心归一化,且受采样窗口影响更大。

  • 确认是否开启 per-CPU 模式:按 c 键切换,会显示每个核心的实时占用条形图
  • 检查是否启用了 quicklook 插件(默认开),它会跳过部分进程扫描以提速,导致进程级 CPU 汇总略偏低
  • 真实对比建议用 glances -1 --disable-quicklook + top -bn1 | head -20 对照,排除采样时机偏差

磁盘 I/O 显示为 0 或 N/A 的常见原因

glances 依赖 psutil.disk_io_counters(),它在某些场景下无法获取设备级 I/O 数据,尤其容器环境或精简内核。

  • 检查是否挂载了 sysfsprocfs:Docker 容器需加 --privileged 或至少 --cap-add=SYS_ADMIN
  • 非 root 用户运行时,部分设备(如 NVMe)的 /sys/class/block/*/stat 可能不可读,直接导致 I/O 列为空
  • 某些发行版(如 Alpine)默认没装 util-linuxlsblk 缺失会影响磁盘识别,可手动指定设备:启动加 --diskio-list sda,sdb

如何让 glances 在 tmux 里稳定显示中文/宽字符

不是字体问题,是 glances 内部用 curses 渲染时对双字节字符宽度判断错误,导致换行错位甚至崩溃。

  • 强制设置终端编码:export LANG=en_US.UTF-8(即使系统是中文 locale,也建议切英文 locale 启动)
  • tmux 中启用 UTF-8 支持:set -g utf8 on(写入 ~/.tmux.conf
  • 避免在 glances 界面中触发长路径名或含 emoji 的进程名(比如 Node.js 的 node_modules 路径),这类字段会被截断或引发重绘异常

真正难调的不是安装,而是搞清它每列数据到底来自哪个系统接口、是否被插件过滤、有没有权限缺口——特别是混用容器、systemd、cgroups v2 的环境,glances 的进程树和内存统计很容易漏掉 slice 边界。

终于介绍完啦!小伙伴们,这篇关于《Linux下Glances监控工具使用详解》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>