Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы терминал / Terminal_KR_Gorodetskiy_BST2154_v2 .docx
Скачиваний:
21
Добавлен:
28.10.2024
Размер:
12.75 Mб
Скачать
  1. Получение карты виртуальной памяти процесса

Рисунок 4-5-1. С помощью pmap -x 2407 выведена карта виртуальной памяти текущего экземпляра терминала. Атрибут -x позволяет вывести названия столбцов таблицы.

Карта виртуальной памяти, полученная с помощью команды pmap, предоставляет подробную информацию о распределении памяти внутри процесса. Рассмотрим каждый столбец более подробно:

Address (Адрес): Это виртуальный адрес, по которому располагаются данные в процессе. Виртуальные адреса уникальны для каждого процесса и не совпадают с физическими адресами в памяти.

Kbytes (Кбайты): Объем памяти, занятый данным участком виртуального адресного пространства.

RSS (Resident Set Size, размер резидентного множества): Количество физических страниц памяти, которые занимают данный участок виртуального адресного пространства.

Dirty (Грязные страницы): Число страниц, содержимое которых было модифицировано и требует записи обратно во внешнюю память при выгрузке процесса.

Mode (Режим доступа): Описывает права доступа к странице памяти. Наиболее распространенные режимы: r для чтения, w для записи, x для исполнения кода, s для совместного использования страницы несколькими процессами.

Mapped File (Отображаемый файл): Имя исполняемого файла или библиотеки, связанной с данной областью памяти. В некоторых случаях это могут быть анонимные области памяти ([ anon ]), представляющие динамически выделяемые участки памяти.

Используя эту информацию, можно сделать следующие выводы:

Можно увидеть объем памяти, занимаемой различными частями процесса, включая исполняемый файл (bash), системные библиотеки (libc.so.6, libtinfo.so.6.4, ld-linux-x86-64.so.2) и анонимные области памяти.

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

Определить, какие области памяти доступны только для чтения, записи или выполнения кода.

Узнать, есть ли грязные страницы, которые требуют сохранения вне оперативной памяти перед завершением процесса.

Эти данные полезны для анализа потребления памяти процессом, выявления возможных проблем с утечками памяти и оптимизации использования ресурсов системы.

  1. Настройка файла подкачки

Рисунок 4-5-2. С помощью free -h было проверено, что система правильно распознаёт текущую память.

Рисунок 4-5-3. С помощью sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 cсоздан файл подкачки с именем /swapfile

Рисунок 4-5-4. Установлены правильные права на этот файл и отформатирован как swap-файл с помощью

sudo chmod 600 /swapfile

sudo mkswap /swapfile

Рисунок 4-5-5. Файл подключен с помощью sudo swapon /swapfile.

Рисунок 4-5-6. С помощью free -h проверено, увеличился ли общий размер swap-области.

Рисунок 4-5-7. Добавлены настройки в /etc/fstab, чтобы файл подкачки автоматически монтировался при старте системы при помощи команды:

echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

Рисунок 4-5-8. Перезагрузка системы для проверки помощью sudo reboot.

Рисунок 4-5-9. Проверка после перезагрузки помощью команд:

free -h -t

swapon -s

Рисунок 4-5-10. Отключение и удаление созданного файла подкачки используя команды:

sudo swapoff /swapfile

sudo rm /swapfile

Рисунок 4-5-11. Проверка, что после удаления файла подкачки стало больше доступной памяти с помощью free -h