Стандартные инструменты для диагностики системы LinuxЯдро:*
perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
*
ftrace — трассировщик вызовов функций внутри ядра Linux
*
stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* l
ttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
*
bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:*
iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
*
pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
*
pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
*
lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:*
strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
*
ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:*
tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
*
numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:*
netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
*
ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
*
ethtool — просмотр настроек и состояния ethernet-интерфейса
*
snmpget — получение данных по SNMP
*
lldptool — настройка LLDP и просмотр данных LLDP
*
nicstat — статистика использования сетевой карты (сетевого интерфейса)
*
ip — конфигурация и статистика стека TCP/IP Linux
*
ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:*
top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
*
vmstat — данные об использовании виртуальной памяти
*
free — информация о свободной памяти, кэше, буферах
*
slabtop — информация о заполнении SLAB-кэша
Процессор:*
mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
*
turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
*
rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:*
sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
*
dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
*
dmesg — журнал сообщений ядра с момента загрузки системы
*
/proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
*
sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
👉
@linuxchmod