ОП.05 · Операционные системы и среды · занятие 8 · практическое занятие
Диагностика процессов и управление ресурсами
Средняя нагрузка и число ядер, мониторы top и htop, поиск процесса, который занял процессор или память, приоритет nice и renice, измерение командой time. В конце — инцидент на учебном сервере: найти причину, восстановить работу и написать postmortem.
Часть 1 →План занятия
- 1Нагрузка системы: uptime и load average
В этой части разберём, с чего начинается диагностика, что показывает средняя нагрузка load average и как сравнить её с числом процессорных ядер.
- 2Мониторы процессов: top и htop
В этой части разберём, как читать шапку и таблицу программы top, какие клавиши в ней нужны и чем удобнее htop.
- 3Поиск виновника: ps, pstree и /proc
В этой части разберём, как командой ps найти процесс, который занял процессор или память, и как узнать, кто его запустил и из какого каталога.
- 4Приоритет процесса: nice и renice
В этой части разберём, как планировщик делит процессор между процессами, что меняет число nice и кто имеет право его менять.
- 5Сколько стоит команда: time
В этой части разберём, как командой time измерить время работы программы, чем отличаются real, user и sys и как узнать, сколько памяти заняла программа.
- 6Порядок действий и postmortem
В этой части соберём инструменты в порядок действий при зависании, разберём его на процессе, который занял память, и научимся записывать краткий отчёт об инциденте.
- 7Практическая работа № 5 · Диагностика процесса
В этой части на учебном сервере случится инцидент: сайт отвечает в несколько раз медленнее. Нужно найти причину, вернуть сайту скорость, не остановив его, и написать postmortem.
Подготовка
Для работы нужна Ubuntu из практической работы № 1 и терминал. Права администратора понадобятся один раз, в части 4. Учебный сервер для практической работы создаёт скрипт diag-lab-setup.sh.
На занятие отводится одна пара — 90 минут: части 1–6 около 45 минут, практическая работа — 45 минут. Снимки экрана сделаны в Ubuntu 24.04.4 Live на виртуальной машине с двумя ядрами; числа нагрузки и времени в вашей системе будут другими.
Каждая часть построена одинаково: объяснение, определения, команды для выполнения в терминале, снимок с результатом, итоги части и переход к следующей.