Библиотека — Linux — справочник команд: память [X]
Шифр
linux-tldr-memory
Разделы
cheatsheet linux tooling
Сверено
2 сентября — в этот день утверждения статьи сверялись с первоисточниками, а не правился текст
Объём
2 883 знака · 5 разделов · чтения несколько минут

Linux — справочник команд: память


← Назад к обзору


vmstat

Классическая статистика виртуальной памяти: подкачка, свопинг, прерывания, переключения контекста.

# Обновление каждую секунду (первая строка — средние с загрузки, игнорировать)
vmstat 1

# С таймштампами
vmstat -t 1

# Статистика по slab/disk
vmstat -m    # slab info
vmstat -d    # disk stats

# Разовый снимок активной/неактивной памяти
vmstat -a -S M

Ключевые колонки: si/so (swap in/out — если > 0, памяти не хватает), r (runnable, аналог runqlen), b (blocked on I/O), free, cs (context switches).


slabtop

Статистика slab-аллокатора ядра. Показывает, куда уходит ядерная память.

# Интерактивный режим, сортировка по размеру
slabtop -s c

# Разовый вывод (для скриптов)
slabtop -o | head -20

# Альтернатива: /proc/slabinfo напрямую
cat /proc/slabinfo | sort -k3 -rn | head -10

Типичный use-case: dentry или inode_cache разрослись — значит, огромное количество файлов/каталогов сканируется.


free

Сводка использования памяти. Простейший инструмент, но важно правильно читать.

# В человекочитаемом формате
free -h

# С обновлением каждые 2 секунды
free -h -s 2

# Широкий формат (buffers и cache отдельно)
free -hw

Главное: available (не free) — реальный объём памяти, доступный приложениям. buff/cache — это не «занятая» память, ядро отдаст её при необходимости.


numastat

Статистика распределения памяти по NUMA-узлам. Критично для многосокетных серверов.

# Общая статистика по всем узлам
numastat

# По конкретному процессу (с разбивкой по категориям)
numastat -p $(pgrep mysqld)

# Подробная статистика по узлам (в МБ)
numastat -m

# Компактная таблица без нулевых строк — для машин со многими узлами
numastat -c -z

Ключевые метрики: local_node vs other_node — если other_node велик, процесс читает память с удалённого NUMA-узла (штраф по задержке 40–100%). Решение: numactl --membind или numactl --cpunodebind.


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

Из библиотеки института уносят только знания. Читателей здесь не считают: посещение не регистрируется, отметок в издании не остаётся, счётчиков нет ни у одного издания фонда.

Издание пополняется и пересверяется. Текст доступен на условиях CC BY-SA 4.0 — унесённое можно передавать дальше на тех же условиях.