Многие пользователи знакомы с полезной схемой Брендана Грегга, отображающей утилиты для различных подсистем. В данной статье представлено множество инструментов для мониторинга, включая опенсорсные утилиты. Все они сгруппированы по подсистемам, а краткое описание опенсорсных коллег включено в конце каждого раздела. На уровне приложений часто причина зависаний кроется в самом ПО. Например, штатные утилиты вроде strace и journalctl помогают выявить проблемные процессы. В случае, если на уровне приложения не найдены причины, стоит рассмотреть проблемные участки в ядре с использованием perf и ftrace. Для работы с файловой системой имеются утилиты, такие как lsof и fatrace, помогающие понять, кто именно использует ресурсы. В сетевом стеке для анализа задержек используются ss и ethtool. Путём детального анализа различных уровней системы, от процессов до аппаратного уровня, можно эффективно выявить и решить проблемы производительности.
