- •«Московский технический университет связи и информатики» (мтуси)
- •1. Знакомство с командной строкой Linux 15
- •7. Ядро Linux 51
- •Цель и задачи курсовой работы
- •Введение
- •Краткая теория
- •Знакомство с командной строкой Linux
- •Работа с файлами и каталогами. Управление пользователями
- •Ядро Linux
- •Управление процессами
- •Управление памятью
- •Диски и файловые системы
- •Основная часть
- •Знакомство с командной строкой Linux
- •Команды top, free, ps
- •Домашний каталог
- •Создание директорий
- •Команда tree
- •Создание скриптов
- •Cкрипт на языке bash c выводом меню, состоящего из пунктов выбора выводимой информации.
- •Работа с файлами и каталогами. Управление пользователями
- •Ядро Linux
- •Анализ системных вызовов при выполнении команд с помощью утилиты strace.
- •Системные вызовы вашей̆ программы.
- •Сборка и загрузка модуля в ядро Linux.
- •Управление процессами
- •Мониторинг производительности системы
- •Создание скрипта для получения статистики
- •Создание автозапускаемой службы
- •Создание таймера
- •Управление памятью
- •Получение карты виртуальной памяти процесса
- •Настройка файла подкачки
- •Тестирование памяти
- •Изучение параметра swappiness
- •Диски и файловые системы
- •Разметка диска, создание файловой системы
- •Создание raid-массива
- •Получение информации о файловой системе
- •Работа с логическими разделами дисков (lvm)
- •Vgextend myvg /dev/sdg Добавлен второй диск в vg
- •Заключение
- •Используемая литература
Получение карты виртуальной памяти процесса
Рисунок 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 занято каждым участком виртуального адресного пространства.
Определить, какие области памяти доступны только для чтения, записи или выполнения кода.
Узнать, есть ли грязные страницы, которые требуют сохранения вне оперативной памяти перед завершением процесса.
Эти данные полезны для анализа потребления памяти процессом, выявления возможных проблем с утечками памяти и оптимизации использования ресурсов системы.
Настройка файла подкачки
Рисунок 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
