长期以来,macOS 开发人员和高级用户一直依赖 Activity Monitor 进行系统监控,但其 GUI 界面不适合以终端为中心的工作流程。Mactop(GitHub 上的 metaspartan/mactop)以一个美观的、基于终端的系统监控工具填补了这一空白,在终端内提供 CPU、内存、GPU、网络和磁盘性能的实时可见性。
由 metaspartan 创建,Mactop 是专门为 macOS 使用原生系统 API 构建的,使其能够访问跨平台工具无法读取的指标。它显示每个核心的实时 CPU 使用率及历史图表、显示使用中、有线、压缩和可用内存的内存明细、Apple Silicon 和 AMD GPU 的 GPU 利用率、按接口统计的网络吞吐量、磁盘 I/O 性能以及可排序的进程列表。
该应用程序的编写同时注重功能性和美学。终端用户界面(TUI)使用精心设计的布局、配色方案和 Unicode 字符来清晰呈现信息,而不会让用户感到不知所措。可以在多个视图之间切换,允许用户专注于与当前任务最相关的指标。
监控架构
Mactop 通过多个 macOS API 收集系统指标,并通过统一的终端界面呈现:
graph TD
A[Mactop TUI\n终端界面] --> B[数据收集引擎\n刷新循环]
B --> C[CPU 指标\nhost_cpu_load_info / mach_host]
B --> D[内存指标\nhost_statistics64 / task_info]
B --> E[GPU 指标\nIOKit / Metal Performance Shaders]
B --> F[网络指标\nifaddrs / netstat]
B --> G[磁盘指标\nfsctl / IOKit]
B --> H[进程指标\nproc_listallpids / sysctl]
C --> I[显示小部件\nCPU / 内存 / GPU / 网络 / 磁盘]
D --> I
E --> I
F --> I
G --> I
H --> I
I --> J[用户交互\n键盘控制]数据收集以可配置的刷新周期执行,在保持显示更新的同时最小化性能影响。
指标显示
| 指标类别 | 数据点 | Apple Silicon 支持 | 刷新率 |
|---|---|---|---|
| CPU | 每核心使用率、负载平均值、温度 | 是 | 1 秒 |
| 内存 | 使用中、有线、压缩、缓存、交换 | 是(统一) | 1 秒 |
| GPU | 利用率、内存使用、温度 | 是(M 系列) | 2 秒 |
| 网络 | 输入/输出速度、总数据量、按接口 | 是 | 2 秒 |
| 磁盘 | 读/写速度、I/O 操作、使用率 | 是 | 2 秒 |
| 进程 | CPU%、内存%、PID、用户、命令 | 是 | 3 秒 |
实际使用场景
Mactop 在几种常见场景中很有用。调试性能问题的开发人员可以让 Mactop 在分割终端窗格中运行,实时观察其应用程序如何影响系统资源。监控 CI 作业的构建工程师可以追踪 CPU 和内存使用情况,以识别资源瓶颈。监控后台进程的高级用户可以快速识别消耗过多资源的异常应用程序。
对于 Apple Silicon 用户来说,Mactop 的 GPU 监控尤其有价值。GPU 利用率是大多数系统监控工具中的盲点,但它对于媒体制作、机器学习和游戏工作负载至关重要。Mactop 通过 IOKit 和 Metal Performance Shaders API 读取 GPU 指标,提供对这个日益重要的系统资源的可见性,而 Activity Monitor 本身并未完全公开这些信息。
进程视图提供关于正在运行的进程的详细信息,包括每个进程的 CPU 和内存使用情况、线程数、文件描述符和 I/O 活动。进程可以按任何字段排序,使得识别资源消耗大户变得容易。
推荐的外部资源
- Mactop GitHub 存储库 – 源代码、发行版本和文档
- macOS 系统性能 API – Apple 用于系统监控的内核 API 文档
FAQ
什么是 Mactop? Mactop 是由 metaspartan 开发的开放源代码、基于终端的 macOS 系统监控工具。它以简洁可自定义的 TUI(终端用户界面)显示 CPU、内存、GPU、网络、磁盘和进程的实时指标。它被设计为内置 Activity Monitor 和 htop 的现代替代品,适用于偏好终端工作流程的 macOS 用户。
Mactop 显示哪些指标? Mactop 显示每个核心的实时 CPU 使用率及历史图表、内存使用明细(使用中、有线、压缩、可用)、Apple Silicon 和 AMD GPU 的 GPU 利用率和内存、按接口细分的网络吞吐量、具有读写速度的磁盘 I/O、具有资源消耗的进程列表,以及系统运行时间和负载平均值。
Mactop 支持 Apple Silicon 的统一内存架构吗? 是的,Mactop 对 Apple Silicon Mac 有特定支持,显示跨 CPU 和 GPU 的统一内存使用情况、来自 M 系列 GPU 的 GPU 利用率指标,以及可用的功耗数据。它会检测硬件平台并相应地调整其数据来源。
Mactop 可以自定义吗? 是的,Mactop 支持通过 YAML 配置文件和命令行标志进行配置。用户可以自定义显示哪些指标、刷新率、配色方案、进程排序和显示布局。可以保存配置文件并在不同的监控场景之间切换。
Mactop 与 htop 或 btop 相比如何? Mactop 提供了 htop 和 btop 等通用工具缺少的 macOS 特定指标,特别是 GPU 利用率、Apple Silicon 特定的内存指标和功耗数据。它还具有专为 macOS 设计的更简洁、更现代的界面。但是,它只能在 macOS 上运行,而不同于跨平台的 htop 和 btop。
延伸阅读
- Mactop 在 GitHub 上 – 源代码、二进制发行版本和配置指南
- Apple 内核 API 文档 – macOS 系统性能 API 参考
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!