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

# Linux — справочник команд: файловые системы и хранение

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

---

## lsof

Список открытых файлов (включая сокеты, pipe, устройства).

```bash
# Все открытые файлы процесса
lsof -p 1234

# Кто держит файл/каталог открытым
lsof /var/log/syslog

# Все сетевые соединения процесса (-a обязателен: без него условия объединяются по ИЛИ)
lsof -a -i -p 1234

# Кто слушает на порту 8080
lsof -i :8080

# Удалённые, но не освобождённые файлы (частая причина «кончилось место»)
lsof +L1
```

---

## fatrace

Мониторинг активности файловой системы через fanotify (ядерный механизм, низкий оверхед).

```bash
# Все файловые события в системе
fatrace

# Только записи, с таймштампами
fatrace -f W -t

# Только та ФС, на которой лежит текущий каталог (-c не принимает путь)
cd /data && fatrace -c

# Остановить через 10 секунд
fatrace -s 10
```

---

## filelife

eBPF: время жизни файлов — от создания до удаления. Полезно для выявления tmp-спама.

```bash
# Все короткоживущие файлы в системе
filelife

# Только для конкретного PID
filelife -p 1234
```

---

## pcstat

Показывает, какая доля файла находится в page cache. Диагностика cache hit/miss.

```bash
# Проверить кэширование конкретного файла
pcstat /var/lib/mysql/ibdata1

# Проверить все .db файлы в каталоге
pcstat /data/*.db
```

---

## ext4dist / ext4slower

eBPF: распределение задержек и медленные операции ext4. Аналоги есть для btrfs, xfs, zfs, nfs.

```bash
# Гистограмма задержек ext4 (read, write, open, fsync) за 10 секунд
ext4dist 10

# Операции ext4 медленнее 10 мс
ext4slower 10

# Аналог для XFS
xfsdist 10
xfsslower 10

# Аналог для NFS — полезно для диагностики сетевых FS
nfsslower 10
```

---

## iostat

Классическая статистика I/O блочных устройств. Первый инструмент при подозрении на I/O bottleneck.

```bash
# Расширенная статистика, обновление каждую секунду
iostat -xz 1

# Только конкретное устройство
iostat -xz -d nvme0n1 1

# Вывод в мегабайтах, 5 итераций
iostat -xm 1 5
```

Ключевые колонки: `%util` (насыщенность), `await` (средняя задержка), `r_await`/`w_await` (read/write задержки), `aqu-sz` (средняя длина очереди).

---

## biosnoop

eBPF: трассировка каждого блочного I/O запроса с PID, задержкой и секторами.

```bash
# Все блочные I/O операции в реальном времени
biosnoop

# Только для конкретного диска
biosnoop -d nvme0n1

# Со временем ожидания в очереди ОС (фильтра по задержке у biosnoop нет)
biosnoop -Q
```

---

## biolatency

eBPF: гистограмма задержек блочного I/O. Показывает распределение, а не средние.

```bash
# Гистограмма задержек, интервал 1 секунда
biolatency 1

# С разбивкой по дискам
biolatency -D 1

# В миллисекундах (по умолчанию — микросекунды)
biolatency -m 1

# С разбивкой по флагам (read/write/sync/async)
biolatency -F 1
```

---

## biotop

eBPF: top-подобный вид блочного I/O по процессам.

```bash
# Обновление каждую секунду (интерактивный)
biotop 1

# 5 итераций, потом выход
biotop 1 5
```

---

## blktrace

Детальная трассировка блочного уровня. Тяжёлый, но даёт полную картину I/O pipeline.

```bash
# Запись трассировки устройства (Ctrl+C для остановки)
blktrace -d /dev/nvme0n1 -o trace

# Анализ записанной трассировки
blkparse -i trace | head -50

# Быстрый вариант: трассировка + парсинг в одну команду
btrace /dev/nvme0n1
```

---

## nvme-cli 🟢

Управление и диагностика NVMe-устройств. SMART, задержки, firmware.

```bash
# Список NVMe-устройств
nvme list

# SMART-лог (здоровье, температура, износ)
nvme smart-log /dev/nvme0n1

# Лог ошибок
nvme error-log /dev/nvme0n1

# Информация о контроллере (модель, firmware, возможности)
nvme id-ctrl /dev/nvme0n1

# Проверка задержек через self-test (неразрушающий)
nvme device-self-test /dev/nvme0n1 -s 1
```

---

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

- [Linux — средства диагностики производительности](./linux-perf-tools.md) — обзорная карта инструментов
- [Linux — файловые системы: ext4, XFS, Btrfs, LVM](./linux-filesystems.md) — устройство ФС и томов
- [Linux — справочник команд: память](./linux-tldr-memory.md) — page cache и dirty writeback
- [SATA, SAS и NVMe](./storage-interfaces.md) — что за интерфейс под блочным устройством и почему у него такая глубина очереди
