Мониторинг процессов позволяет отслеживать показатели центрального процессора, памяти, диска, т.е. узнать использование ресурсов компьютера.
- Чтобы узнать, насколько загружен процессор, и какие процессы потребляют больше ресурсов, можно ввести команду:
top
Запишите ID (PID) процесса, который потребляет больше всего ресурсов, и уровень загрузки процессора в процентах.
- Узнайте объем свободной памяти с помощью команды
free -mи запишите его. - Командой
iostatпосмотрите состояние диска. Чтобы отображение было динамическим, введите командуiostat 1. - Изучите командой
ss -lсостояние сети.
- Установите stress на виртуальную машину.
- В другом окне терминала запустите stress.
- Посмотрите, как это сказывается на загрузке процессора.
- Узнайте идентификатор процесса и командой
kill <PID>
завершите его.
- Чтобы оценить, как работает диск в стрессовой ситуации нужно будет создать большой файл. Этим создается большая нагрузка на систему ввода/вывода.
dd if=/dev/zero of=/tmp/testfile bs=1M count=5000 oflag=direct
- В другом окне терминала оцените состояние диска. Это можно сделать так
iotop
- Сделате так, чтобы в таблице отображался PID и завершите этот процесс.
- Завершите процесс командой
kill <PID>
Но как узнать какой файл создается?
- Повторно начните создание файла.
- C помощью команды
fatraceустановите, куда сохранится файл. - Удалите его
rm <маршрут до файла>
Для работы потребуется установить iperf3 на обе виртуальные машины. iperf3 генерирует сетевой трафик. Одна из ВМ будет пользовательской, а другая - серверной.
- На серверной ВМ запускаем сервер
iperf3 -s
- Клиентская ВМ
iperf3 -c <IP адрес серверной ВМ> -t 60 -b 100G
- Следующими командами посмотрите сетевую активность из клиентской ВМ (можно и из серверной).
- Просмотр количества полученных и переданных данных по протоколу TCP
watch -d "ss | grep tcp"
- Красивая утилита
iftop
Этими командами видим с какого на какой адрес переданы данные, а также узнаем объем этих данных.
В заключение хочется сказать, что существует большое количество команд, которые помогают управлять ресурсами и отслеживать их. В лабораторной работе была рассмотрена лишь малая часть. На схеме представлены многие другие команды для мониторинга производительности Linux.
