跳转至

MacOS实时监控GPU工具asitop/mxtop

工具简介

asitopmxtop 都是专为 Apple Silicon(M1/M2/M3/M4 系列)芯片设计的 Python 命令行性能监控工具,灵感来源于 Linux 上的 nvtop

它们在终端中提供一个实时刷新的监控面板,直观显示 SoC 各项指标,特别适合监控 Ollama 等 AI 推理工具运行时的 GPU 负载情况。

对比项 asitop mxtop
定位 原始版本 asitop 的活跃维护分支
状态 已停止维护 ✅ 持续更新中
兼容性 M1/M2 最佳 兼容 M1→M4 及最新 macOS
PyPI asitop mxtop
GitHub https://github.com/tlkh/asitop https://github.com/Vlor999/mxtop

建议

新机器推荐直接装 mxtop,兼容性更好。asitop 已装的可继续用。

监控指标

运行后终端面板实时显示以下信息:

指标类别 具体内容
CPU 能效核(E-cluster)和性能核(P-cluster)利用率、频率
GPU 利用率、频率
ANE Apple 神经网络引擎利用率(通过功耗推算)
内存 RAM 和 Swap 的大小与使用情况
功耗 CPU 功耗、GPU 功耗

安装方法

前置条件

macOS 自带 Python,但需要确认 pip 已安装:

Bash
python3 -m pip --version

如果提示未找到 pip,先安装:

Bash
python3 -m ensurepip --upgrade

安装 asitop

Bash
sudo pip3 install asitop

安装 mxtop(推荐)

Bash
sudo pip3 install mxtop

为什么要 sudo

asitop/mxtop 底层依赖 macOS 的 powermetrics 工具读取硬件传感器数据,需要 root 权限才能访问,所以必须用 sudo 安装和运行。

通过 Homebrew 安装(可选)

Bash
1
2
3
4
5
# asitop
brew install asitop

# mxtop(如果已加入 Homebrew)
brew install mxtop

使用方法

基本运行

Bash
1
2
3
4
5
6
7
8
# 运行 asitop
sudo asitop

# 运行 mxtop
sudo mxtop

# 添加alias别名以方便直接使用
echo "alias asitop='sudo /Users/admin/Library/Python/3.9/bin/asitop'" >> ~/.zshrc

启动后终端会显示一个实时刷新的监控面板,类似 htop 的效果。

退出方式

qCtrl + C 退出监控面板。

运行效果示意

Text Only
┌── Apple M3 Ultra ────────────────────────────────────────┐
│                                                          │
│  CPU Efficiency Cores  ████████░░░░░░░░░░░░  38%  2.4GHz │
│  CPU Performance Cores ████████████░░░░░░░░  56%  3.8GHz │
│  GPU                   ██████████░░░░░░░░░░  48%  1.4GHz │
│  ANE                   ██░░░░░░░░░░░░░░░░░░  10%         │
│                                                          │
│  Memory    128 GB ████████░░░░░░░░░░░░░░░░░  25%        │
│  Swap        0.0 GB ░░░░░░░░░░░░░░░░░░░░░░░   0%        │
│                                                          │
│  CPU Power   12.5W                                       │
│  GPU Power   18.3W                                       │
│                                                          │
└──────────────────────────────────────────────────────────┘

实际显示效果会因芯片型号和 asitop/mxtop 版本不同而有所差异。

常见问题

1. 权限被拒绝

Bash
sudo: asitop: command not found

这通常是因为 pip 安装路径不在 sudo 的 PATH 中,改用完整路径:

Bash
1
2
3
sudo $(which asitop)
# 或
sudo /Library/Frameworks/Python.framework/Versions/3.x/bin/asitop

2. macOS 新版本不兼容

asitop 已停止维护,在较新的 macOS 版本上可能报错或显示不全。解决办法:

Bash
1
2
3
4
5
6
# 卸载 asitop
sudo pip3 uninstall asitop

# 安装 mxtop(活跃维护的 fork)
sudo pip3 install mxtop
sudo mxtop

3. 监控 Ollama 的 GPU 负载

先启动 Ollama 跑模型,然后在另一个终端窗口运行:

Bash
sudo mxtop

这样就能实时看到 Ollama 推理时 GPU 的利用率和频率变化。

卸载方法

Bash
1
2
3
4
5
# 卸载 asitop
sudo pip3 uninstall asitop

# 卸载 mxtop
sudo pip3 uninstall mxtop

参考链接