Linux 下部分 Intel GPU 遥测计数器需要 sudo 权限才能读取;运行前需先安装对应厂商 GPU 驱动和 OpenCL 运行时,否则无法获取 GPU 数据;README 中的下载链接指向 TaskManager 仓库,克隆时请使用 hw-smi 仓库地址。
hw-smi
ProjectPhysX活跃维护轻量跨平台的 CPU/GPU 实时监控命令行工具,直接调用厂商 API 获取准确硬件数据,并用 ASCII 图表直观展示。
A minimal, cross-compatible CPU/GPU telemetry monitor with accurate data directly from vendor APIs and beautiful ASCII visualization.
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
chmod +x make.sh
./make.sh
sudo bin/hw-smi --bars支持 Windows 和 Linux;CPU 通过 Win32 或 /proc 读取,GPU 支持 Nvidia、AMD、Intel 三家厂商,需安装对应 GPU 驱动及 OpenCL 运行时;README 未说明显存要求。
跨平台 CPU/GPU 遥测监控工具,直接调用厂商 API 获取准确数据并用 ASCII 图表展示
轻量跨平台的 CPU/GPU 实时监控命令行工具,直接调用厂商 API 获取准确硬件数据,并用 ASCII 图表直观展示。
核心能力
- 通过 NVML、ADLX/AMDSMI、SYSMAN 等厂商 API 直接读取遥测数据
- 支持 Windows 和 Linux 上的 CPU 与 Nvidia、AMD、Intel GPU
- 用 --bars 和 --graphs 在终端绘制 ASCII 柱状图和曲线图
- 用 --log 将全部遥测数据写入带时间戳的日志文件
- 可显示每核心占用、显存、温度、功耗、风扇、频率、PCIe 带宽
容易踩的坑
- v1.6hw-smi v1.6最新正式版2026-08-19 · 2026-08-19 15:29 UTC
Fixes/improvements
-
hw-smi now supports logging telemetry data to a file
- run hw-smi with the
--logcommand-line option - this will write all telemetry data into a file
hw-smi-YYYY-DD-MM-hh-mm-ss.loglocated next to the hw-smi executable - the telemetry data in the file is formatted as follows:
, Intel Core i7-8700K , NVIDIA TITAN Xp Date Time , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, CPU, RAM , Tmp, Clk , PCIe BW, GPU, BW , VRAM , Tmp, Pwr , Fan , CClk, MClk, PCIe YYYY-MM-DD hh:mm:ss.ss, %, %, %, %, %, %, %, %, %, %, %, %, %, MB, 'C, MHz, MB/s, %, GB/s, MB, 'C, W, RPM, MHz, MHz, MB/s Hardware Specs , 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 16250, ?, 5000, 3936, 100, 548, 12288, 100, 250, 5000, 1911, 1426, 3936 2026-08-19 17:01:46.29, 0, 5, 0, 0, 11, 0, 5, 0, 0, 0, 0, 0, 4, 7953, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:46.69, 8, 2, 2, 14, 14, 2, 8, 2, 26, 2, 8, 2, 3, 7952, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.05, 10, 0, 10, 4, 22, 0, 10, 0, 10, 0, 16, 4, 7, 7946, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.41, 12, 12, 0, 17, 0, 0, 12, 0, 6, 0, 0, 12, 8, 7940, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.79, 8, 8, 8, 14, 0, 0, 8, 0, 0, 2, 2, 0, 8, 7930, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0
- run hw-smi with the
-
updated
amdsmi.hto be compatible with latest AMD Linux GPU driver
How to run?
Windows
- Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
- Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
- Alternatively, run in Windows CMD via
hw-smi.exe hw-smi.exe --bars hw-smi.exe --graphs hw-smi.exe --log hw-smi.exe --help - Or compile from source code on Windows
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --bars sudo bin/hw-smi --graphs sudo bin/hw-smi --log sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
-
- v1.5hw-smi v1.52026-05-22 · 2026-05-22 10:28 UTC
查看更新说明
Fixes/improvements
- print detected hardware specs in help menu with
hw-smi.exe --help/hw-smi --help - added ReBar detection on Intel GPUs
- removed double spaces in some CPU names
- fixed max VRAM bandwidth reporting on some Intel GPUs with <412GB/s
- render unavailable CPU name as
? - mark unavailable CPU data on Linux as such
- color Neoverse CPU as Nvidia
- fixed newline in hardware printout if no GPUs are available
- added
stypeinput properties for SYSMAN queries - added more possible
libamd_smi.soinstallation paths to check - fix display of unavailable power in graphs mode
- updated NVML, more accurate fan RPM reading on supported Nvidia GPUs, unavailable Power/Fan metrics on old Nvidia GPUs will now be rendered properly as
-?- - fixed SYSMAN max PCIe bandwidth glitching when GPU becomes inactive
How to run?
Windows
- Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
- Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
- Alternatively, run in Windows CMD via
hw-smi.exe hw-smi.exe --bars hw-smi.exe --graphs hw-smi.exe --help - Or compile from source code on Windows
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --bars sudo bin/hw-smi --graphs sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
- print detected hardware specs in help menu with
- v1.4hw-smi v1.42026-04-22 · 2026-04-22 15:35 UTC
查看更新说明
Fixes/improvements
- fixed SYSMAN max PCIe bandwidth reading on Linux
- fixed file reading crash on some Linux systems
- render unavailable counters as
-?- - color labels in bars mode
How to run?
Windows
- Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
- Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
- Alternatively, run in Windows CMD via
hw-smi.exe hw-smi.exe --bars hw-smi.exe --graphs hw-smi.exe --help - Or compile from source code on Windows
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --bars sudo bin/hw-smi --graphs sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
- v1.3hw-smi v1.32026-04-17 · 2026-04-17 17:30 UTC
查看更新说明
Fixes/improvements
- fixed memory clock reporting for memory types other than GDDR5X/GDDR6 in
AMDSMI&SYSMAN- missed factor
memory_transfers_per_clock:- 2 ((LP)DDR1-5, GDDR1-4, HBM1-4)
- 4 (GDDR5)
- 8 (GDDR5X, GDDR6)
- 16 (GDDR6X, GDDR6W, GDDR7)
bandwidth [MB/s]=VRAM frequency [MHz]*transfers/clock [no unit]*memory bus width [bit]/8 [bits/Byte]NVML&ADLXlack data formemory_transfers_per_clock
- missed factor
- better device name cleaning
- made bars default mode
How to run?
Windows
- Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
- Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
- Alternatively, run in Windows CMD via
hw-smi.exe hw-smi.exe --bars hw-smi.exe --graphs hw-smi.exe --help
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --bars sudo bin/hw-smi --graphs sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
- fixed memory clock reporting for memory types other than GDDR5X/GDDR6 in
- v1.2hw-smi v1.22026-04-14 · 2026-04-14 17:28 UTC
查看更新说明
Fixes/improvements
- added max memory bandwidth fallback for most Intel iGPUs
- fixed
memory_bus_width_fallbackfor iGPUs - hardened against empty Sysman device name
- better device name cleaning
- for Linux compiling, check
/usr/lib64/path before/usr/lib/path - added
libnvidia-ml.sopath foraarch64
How to run?
Windows
- Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
- Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
- Alternatively, run in Windows CMD via
hw-smi.exe hw-smi.exe --graphs hw-smi.exe --bars hw-smi.exe --help
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --graphs sudo bin/hw-smi --bars sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
hw-smi
A minimal, cross-compatible CPU/GPU telemetry monitor with accurate data directly from vendor APIs and beautiful ASCII visualization.
moritz@opencl-pc:~/hw-smi$ sudo bin/hw-smi --bars
moritz@opencl-pc:~/hw-smi$ sudo bin/hw-smi --graphs
Hardware/OS Support
| Metric(Windows/Linux) | CPUsWin32//proc | Nvidia GPUs NVML | AMD GPUs ADLX/AMDSMI | Intel GPUs SYSMAN |
|---|---|---|---|---|
| device name | ✅/✅ | ✅/✅ | ✅/✅ | ✅/✅ |
| per-core/avg usage [%] | ✅✅/✅✅ | ✅✅/✅✅ | ✅✅/✅✅ | ✅✅/❎✅ |
| memory bandwidth [MB/s] | ❌❌/❌❌ | ✅✅/✅✅ | 🟨🟨/✅✅ | ❎❎/❎❎ |
| memory occupation [MB] | ✅✅/✅✅ | ✅✅/✅✅ | ✅✅/✅✅ | ✅✅/✅✅ |
| temperature [°C] | 🫠✅/✅✅ | ✅✅/✅✅ | ✅✅/✅✅ | ❎✅/❎✅ |
| power [W] | ❌❌/❌❌ | ✅✅/✅✅ | ✅✅/✅✅ | ❎✅/✅✅ |
| fan [RPM] | ❌❌/❌❌ | ✅🟨/✅🟨 | ✅✅/✅🟨 | ✅🟨/🫠🟨 |
| core clock [MHz] | 🟨🟨/✅🟨 | ✅✅/✅✅ | ✅✅/✅✅ | ✅✅/✅✅ |
| memory clock [MHz] | ❌❌/❌❌ | 🫠🫠/🫠🫠 | ✅✅/✅✅ | ✅✅/🫠✅ |
| PCIe bandwidth [MB/s] | 🟨🟨/🟨🟨 | ✅✅/✅✅ | ❌❌/🫠✅ | ❎✅/❎❎ |
| Legend | Description |
|---|---|
| AB/CD | A current value (Windows), B max value (Windows)C current value ( Linux ), D max value ( Linux ) |
| ✅ | supported and working |
| ❎ | supported and working, but administrator/sudo permissions required |
| 🟨 | vendor API does not directly provide metric, but workaround/estimate/default possible |
| 🫠 | available but broken in vendor API |
| ❌ | unavailable in vendor API and no suitable default value possible |
- https://github.com/GPUOpen-LibrariesAndSDKs/ADLX/issues/27
- https://github.com/ROCm/rocm-systems/issues/5036 / 5035 / 5034 / 14222
- https://github.com/intel/drivers.gpu.control-library/issues/120 / 146 / 138 / 149
- https://github.com/intel/compute-runtime/issues/932 / 926 / 925 / 924
GPU Driver Installation
-
Windows
-
Linux
- Download and install Nvidia GPU Drivers, which contain the OpenCL Runtime, with:
sudo apt update && sudo apt upgrade -y sudo apt install -y g++ git ocl-icd-libopencl1 ocl-icd-opencl-dev nvidia-driver-580 sudo shutdown -r now
- Download and install AMD GPU Drivers, which contain the OpenCL Runtime, with:
sudo apt update && sudo apt upgrade -y sudo apt install -y g++ git ocl-icd-libopencl1 ocl-icd-opencl-dev rocm-opencl-icd rocm-opencl-runtime mkdir -p ~/amdgpu wget -P ~/amdgpu https://repo.radeon.com/amdgpu-install/31.60/ubuntu/resolute/amdgpu-install_31.60.316000-1_all.deb sudo apt install -y ~/amdgpu/amdgpu-install*.deb sudo amdgpu-install -y --usecase=graphics,rocm,opencl --opencl=rocr sudo usermod -a -G render,video $(whoami) rm -r ~/amdgpu sudo shutdown -r now
- Download and install the OpenCL Runtime and oneAPI Level-Zero-Loader, with:
sudo apt update && sudo apt upgrade -y sudo apt install -y g++ git ocl-icd-libopencl1 ocl-icd-opencl-dev intel-opencl-icd libze1 sudo usermod -a -G render $(whoami) sudo shutdown -r now
- Download and install Nvidia GPU Drivers, which contain the OpenCL Runtime, with:
Compiling the Source Code
Windows
- Download and install Visual Studio Community. In Visual Studio Installer, add:
- Desktop development with C++
- MSVC v142
- Windows 10 SDK
- Download and unzip hw-smi.
- Open
hw-smi.vcxprojin Visual Studio Community. - Compile by clicking the ► Local Windows Debugger button.
- Go to
hw-smi/bin/folder and double-clickhw-smi.exe. - Alternatively, run from CMD:
hw-smi.exe hw-smi.exe --bars hw-smi.exe --graphs hw-smi.exe --log hw-smi.exe --help - Note that it will also work without
administratorpermissions. However, some telemetry counters on Intel GPUs are not available withoutadministratorpermissions.
Linux
- Clone from GitHub:
git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi - Compile:
chmod +x make.sh ./make.sh - Run:
sudo bin/hw-smi sudo bin/hw-smi --bars sudo bin/hw-smi --graphs sudo bin/hw-smi --log sudo bin/hw-smi --help - Note that it will also work without
sudo. However, some telemetry counters on Intel GPUs are not available withoutsudo.
Logging Telemetry Data
- Run hw-smi with the
--logcommand-line option. This will write all telemetry data into a filehw-smi-YYYY-DD-MM-hh-mm-ss.loglocated next to the hw-smi executable. - The telemetry data in the file is formatted as follows:
, Intel Core i7-8700K , NVIDIA TITAN Xp Date Time , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, CPU, RAM , Tmp, Clk , PCIe BW, GPU, BW , VRAM , Tmp, Pwr , Fan , CClk, MClk, PCIe YYYY-MM-DD hh:mm:ss.ss, %, %, %, %, %, %, %, %, %, %, %, %, %, MB, 'C, MHz, MB/s, %, GB/s, MB, 'C, W, RPM, MHz, MHz, MB/s Hardware Specs , 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 16250, ?, 5000, 3936, 100, 548, 12288, 100, 250, 5000, 1911, 1426, 3936 2026-08-19 17:01:46.29, 0, 5, 0, 0, 11, 0, 5, 0, 0, 0, 0, 0, 4, 7953, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:46.69, 8, 2, 2, 14, 14, 2, 8, 2, 26, 2, 8, 2, 3, 7952, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.05, 10, 0, 10, 4, 22, 0, 10, 0, 10, 0, 16, 4, 7, 7946, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.41, 12, 12, 0, 17, 0, 0, 12, 0, 6, 0, 0, 12, 8, 7940, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0 2026-08-19 17:01:47.79, 8, 8, 8, 14, 0, 0, 8, 0, 0, 2, 2, 0, 8, 7930, ?, 3696, 0, 0, 0, 163, 35, 16, 1150, 139, 101, 0