# Практическая работа №5

Тема: «Мониторинг процессов и потребления ресурсов в ОС Linux»

Цель: Закрепить навыки мониторинга процессов и потребления ресурсов в OC Linux

## Теоретическая подготовка к работе:&#x20;

[](https://antons-organization-1.gitbook.io/administrirovanie-linux/bazovye-zadachi/processy-i-potreblenie-resursov-servera "mention")

[processy-i-potreblenie-resursov-servera.-praktika](https://antons-organization-1.gitbook.io/administrirovanie-linux/bazovye-zadachi/processy-i-potreblenie-resursov-servera/processy-i-potreblenie-resursov-servera.-praktika "mention")

[monitoring-processov-i-resursov-v-os-linux](https://antons-organization-1.gitbook.io/administrirovanie-linux/bazovye-zadachi/processy-i-potreblenie-resursov-servera/monitoring-processov-i-resursov-v-os-linux "mention")

[sistema-inicializacii-systemd](https://antons-organization-1.gitbook.io/administrirovanie-linux/bazovye-zadachi/processy-i-potreblenie-resursov-servera/sistema-inicializacii-systemd "mention")

## Задание:

1\. Изучить теоретический материал;

2\. Изучить man используемых команд;

3\. Изучить и выполнить [#khod-vypolneniya-raboty](#khod-vypolneniya-raboty "mention")

3\. Ответить на контрольные вопросы;

4\. Подготовить отчёт.

## Ход выполнения работы:

### Знакомство с утилитами htop и stress-ng

1.1. Проверьте наличие утилит **htop** и **stress-ng**, при необходимости установите её.

1.2. Запустите утилиту htop, нажмите F2 и перейдите в настройки:

1.2.1. В разделе Display Options включите пункт "Tree view".

1.2.2. В разделе Colors выберите удобную для работы тему

1.2.3. В разделе Columns добавите дополнительно колонку, показывающую ID сессии

1.2.4. В разделе Meters настройте отображение параметров:

1.2.5. Выберите способ отображения параметров:

* &#x20;Bar;
* Text;
* Graph;
* LED;

1.2.6. Добавьте в правую колонку отображение Hostname и  текущего времени.

### Знакомство с подсистемой /proc/

1. Изучите вывод команды `cat /proc/meminfo`:

1.1. Сколько всего доступно оперативной памяти?

1.2. Сколько закэшировано?

1.3. Сколько свободно?

2\. Изучите вывод команды `cat /proc/partitions`

2.1. Какое общее количество разделов имеется в системе?

2.2. Какое количество блоков содержат разделы sda1 и sda2?

3\. Выведите информацию о параметрах ядра текущей загруженной системы с использованием подсистемы `/proc`. Приведите описание каждого параметра в отчет (для описания параметров можно воспользоваться ресурсами сети Интернет).

4. Выведите информацию об установленном в компьютере процессоре:

4.1. Какая модель процессора установлена?

4.2. Частота работы процессора?

4.3. Какое значение указано в строке **cpu cores?** Сравните значение, представленное в выводе с характеристиками процессора. С чем связанно выводимое значение"

5. Посмотрите подключенные файловые системы и выпишите их в отчёт (с предоставлением скриншота выполнения команды).

### Работа с командами `du`, `df` .......

1.Выведите информацию о свободном месте на примонтированных разделах. Вывод должен быть представлен в удобочитаемом формате.

1.7. Выведите общий размер каталога /var/log/ в удобочитаемом формате.

1.8. Выведите информацию о залогиненных в системе пользователях.

1.9. Выполните маскирование демона sshd, после чего выведите его статус.

1.10. Отобразите файл демона sshd через systemctl.

2.1. Получить справку о команде ps

2.2. Командой ps вывести краткую информацию о выполняющихся процессах в текущем терминале и определить PID текущей оболочки

2.3. Получить подробную информацию о загруженных процессах и выяснить, какой из них использует максимальный объем памяти, а какой - максимально загружает процессор.

2.4. Из таблицы, полученной в п.4 выяснить, какой PID имеет процесс *init* и от чьего имени он запущен

2.5. Открыть новый сеанс с собственной учетной записью в и запустить в нем текстовый редактор nano

2.6. Вернуться в исходный сеанс и снова просмотреть список процессов. Определить PID программы nano, запущенной от вашего имени.

2.7. Командой *kill* снять все процессы nano

2.8. В *tty1* выполнить команду *htop*. Сравнить ее возможности с возможностями ps

2.9. Используя top или ps определить, какие процессы порождены (поле PPID) процессом *init* (PID=1)

2.10. Запустить поиск всех файлов .html от каталога */*. Приостановить этот процесс (*Ctrl+Z*).

2.11. Запустить команду man bash и приостановить ее выполнение

2.12. Командой *jobs* определить номера задач, запущенных в предыдущих пунктах.

2.13. Командой *fg* продолжить выполнение *man bash*.

2.14. Принудительно (*kill*) завершить команду *find*.

## **Задания для самостоятельного выполнения**

1. В заданиях 3,4,5 и 7 написать команды, которые выводят только нужную информацию (идентификатор процесса). Используйте команды работы с текстом.

## Контрольные вопросы: &#x20;

1\.     Какой PID имеет процесс Init (SystemD)?

2\.     Какая команда используется, в случае, если вы не уверены, есть ли у службы функция перезагрузки своей конфигурации?

3\.     Какой командой можно проверить активен ли определенный модуль SystemD?

4\.     Какую информацию выводит команда ps без параметров?

5. В системе зарегистрированы и работают пользователи *user1* и *user2*. Может ли *user1* завершить работу процесса, запущенного пользователем *user2*?
6. Может ли *user1* понизить приоритет процесса, запущенного *user2*?
7. Может ли *user1* повысить приоритет собственного процесса?

{% embed url="<https://github.com/R0GGER/public-iperf3-servers>" %}

{% embed url="<https://itproffi.ru/stress-testirovanie-sistem-v-linux-utilita-stress-ng/>" %}
