系统极客一直在努力
专注操作系统及软件使用技能

htop 3.5 发布:新增回溯屏幕、Nord 配色,磁盘 I/O 重构

Htop

htop 3.5 正式发布!它可以实时查看进程运行状态、CPU 与内存占用等核心系统数据,在排序、过滤、问题排查的全流程体验上,都要远超传统工具,已经成为类 Unix 生态里公认的top命令进阶替代方案。

htop 3.5 主要更新

htop 3.5
htop 3.5

界面与交互升级

  • 搜索、过滤、屏幕重命名功能,全面换用「行编辑器」实现,彻底告别了此前简陋的单字符输入逻辑,文本输入与修改体验大幅提升。
  • 数值类配置项,现在支持直接按数字键修改,无需再通过加减按钮逐档调整。
  • 兼容性方面,本次更新显式兼容NO_COLOR环境变量规范,完美适配无色终端的使用场景;同时新增了一套原生 Nord 风格配色方案,满足你的个性化视觉需求。

此外,还新增了 2 个启动参数:--no-meters可以直接隐藏顶部仪表盘区域,--no-function-bar用于关闭底部功能栏,帮你按需简化界面元素。

监控能力大幅扩展

新增仪表盘与核心指标

新增内容核心说明
回溯屏幕(Backtrace Screen)基于libunwind-ptrace实现,可以直接在 htop 内查看进程调用栈。
SecondsUptimeMeter以秒为单位精准显示系统连续运行时长,满足高精度运维计时需求。
CPU SMT 标签选项支持在 CPU 仪表盘中标注超线程(SMT)核心,多核拓扑结构一目了然。
Tctl 温度读取新增 AMD 处理器 Tctl 温度传感器数据的原生读取支持。

除此之外,图形与条形类仪表盘的渲染逻辑也进行了优化。新增动态缩放能力,百分比绘制精度显著提升,并修复了非百分比条形仪表盘的总值更新逻辑。

磁盘 I/O 监控模块重构

对磁盘 I/O 监控模块进行了彻底重构。原有的DiskIOMeter改成了双指标合并显示模式,同时拆分出 2 款独立的专用仪表盘,让存储性能瓶颈的定位更加精准高效:

  • DiskIORateMeter:专注呈现磁盘读写速率;
  • DiskIOTimeMeter:专门监控磁盘 I/O 等待耗时。

Linux 平台专项优化

Linux 平台获得了多项针对性优化:

  • 新增对 OpenRC init 系统及对应指标的原生支持;
  • 优化了/proc/cpuinfo中 CPU 频率数据的读取逻辑,妥善处理特殊场景下的取值异常;
  • 修复了 NUL 分隔参数的检测错误;
  • 自动跳过/proc/diskstats中的「回环设备」与 MD 软 RAID 条目,过滤掉无效数据对监控结果的干扰;
  • 同时,s390 架构的 CPU 数量检测逻辑也得到了完善。

跨平台兼容性更新

跨平台兼容性方面,各大系统都有专属的优化更新:

  • macOS 平台:新增原生 GPU 仪表盘支持,优化了系统版本信息的上报逻辑,SysArchMeter 现在可直接展示 macOS 版本号;同时恢复了「进程 CPU 时间」的正确换算逻辑,解决了此前的数值偏差问题。
  • BSD 平台:FreeBSD 更新了内部优先级参考基准;NetBSD 优化了进程状态的获取逻辑;OpenBSD 修复了 AC 电源「非零值」时的错误上报问题,同时补充了 ACPI 电池与 AC 相关 sysctl 索引的文档说明。
  • Solaris 平台:内存信息改为每次界面刷新时同步更新,彻底解决了监控数据的滞后问题。

底层性能与稳定性打磨

底层性能与稳定性方面,进行了多处关键打磨:

  • 移除了此前版本内置的「初始强制等待」逻辑,直接降低启动延迟;全量缓存getpwuid调用结果,减少重复系统调用开销,进一步提升了启动速度。
  • 新增配置文件保护机制,当htoprc文件属主与当前 EUID(有效用户 ID)不符时,会直接跳过写入操作,规避权限异常带来的配置损坏风险;同时修复了Settings_write()中的文件描述符泄漏问题。
  • 构建系统方面,更新了configure脚本,新增 openSUSE 与 SLES 的软件包定义,修复了 Autoconf 2.69 的兼容性回归问题,并简化了 curses 头文件的检测逻辑。

目前 htop 上游只发布了源代码,二进制安装包需要等各大系统官方软件源打包更新(Homebrew 官方源已经上架)。完整更新日志可查阅官方 ChangeLog

赞(1)
分享到

评论 抢沙发