---
tags: [linux, cheatsheet, tooling]
verified: 2026-09-02
---

# Linux — справочник команд: оборудование

[← Назад к обзору](./linux-perf-tools.md)

---

## turbostat

Частоты CPU, C-states, энергопотребление. Требует root.

```bash
# Обзор всех CPU, каждую секунду
turbostat --interval 1

# Только сводка (без per-core)
turbostat --Summary --interval 1

# Конкретные колонки: частота, C-states, мощность
turbostat --show CoreTmp,PkgWatt,Avg_MHz,Busy%,Bzy_MHz --interval 1

# Замер во время выполнения команды
turbostat -- ./myapp
```

---

## rdmsr

Чтение MSR-регистров процессора. Низкоуровневая диагностика.

```bash
# Прочитать MSR на CPU 0 (пример: IA32_PERF_STATUS = 0x198)
rdmsr -p 0 0x198

# Прочитать на всех CPU
rdmsr -a 0x198

# Температура: IA32_THERM_STATUS (0x19C), бит 22:16 = offset от TjMax
rdmsr -p 0 -f 22:16 0x19C
```

> Для большинства задач `turbostat` удобнее — он читает MSR сам и форматирует вывод.

---

## tiptop

Аппаратные счётчики производительности в стиле top: IPC, cache misses, branch misses.

```bash
# Интерактивный режим (top-like)
tiptop

# Только конкретный PID
tiptop -p 1234

# Batch mode для скриптов
tiptop -b -n 5 -p 1234
```

Альтернатива через perf (более гибко):
```bash
# IPC и cache misses для процесса
perf stat -e instructions,cycles,cache-misses,cache-references -p 1234 sleep 5

# Branch prediction
perf stat -e branches,branch-misses -p 1234 sleep 5
```

---

## powercap / RAPL 🟢

Мониторинг энергопотребления через Intel RAPL (Running Average Power Limit).

```bash
# Текущее потребление package (через sysfs)
cat /sys/class/powercap/intel-rapl:0/energy_uj

# Подсчёт мощности за интервал (скрипт)
E1=$(cat /sys/class/powercap/intel-rapl:0/energy_uj); sleep 1
E2=$(cat /sys/class/powercap/intel-rapl:0/energy_uj)
echo "$(( (E2 - E1) / 1000000 )) W"

# Через perf (удобнее)
perf stat -e power/energy-pkg/,power/energy-ram/ -a sleep 5

# Через turbostat (самый удобный вариант)
turbostat --show PkgWatt,RAMWatt --interval 1
```

---

## amd-pstate 🟢

Драйвер управления частотой AMD. Диагностика через sysfs.

```bash
# Текущий драйвер частоты
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver

# Текущий режим (active/passive/guided)
cat /sys/devices/system/cpu/amd_pstate/status

# Текущая/минимальная/максимальная частота
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

# Переключение режима (требует root)
echo "active" | tee /sys/devices/system/cpu/amd_pstate/status
```

---

## nvidia-smi 🟢

Мониторинг GPU NVIDIA: утилизация, память, температура, процессы.

```bash
# Текущее состояние всех GPU
nvidia-smi

# Непрерывный мониторинг (каждую секунду)
nvidia-smi --loop=1

# Только ключевые метрики в CSV (для парсинга)
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,temperature.gpu,power.draw --format=csv -l 1

# Процессы, использующие GPU
nvidia-smi pmon -i 0 -s um

# Установить power limit (ватты)
nvidia-smi -pl 250
```

---

## intel_gpu_top 🟢

Мониторинг GPU Intel (встроенная графика и дискретные Arc).

```bash
# Интерактивный мониторинг
intel_gpu_top

# JSON-вывод для парсинга
intel_gpu_top -J -s 1000

# Для конкретного устройства (если несколько GPU)
intel_gpu_top -d drm:/dev/dri/card1
```

---

## rocm-smi 🟢

Мониторинг GPU AMD через ROCm.

```bash
# Состояние всех GPU
rocm-smi

# Утилизация, температура, частоты
rocm-smi --showuse --showtemp --showclocks

# Энергопотребление
rocm-smi --showpower

# Мониторинг в цикле (каждую секунду)
watch -n1 rocm-smi --showuse --showtemp --showpower

# Процессы на GPU
rocm-smi --showpids
```

Начиная с ROCm 7.0 в ROCm-SMI вносят только критические исправления, а рекомендованной заменой AMD называет `amd-smi`. Сама утилита никуда не делась и продолжает работать, но новые возможности появляются уже в `amd-smi`.

---

## Связанные заметки

- [Linux — средства диагностики производительности](./linux-perf-tools.md) — обзорная карта инструментов
- [Linux — ядро: сборка, модули, параметры](./linux-kernel.md) — драйверы, модули и обнаружение устройств
- [Linux — справочник команд: CPU и планировщик](./linux-tldr-cpu-scheduler.md) — смежный слой диагностики
