Тема №4
Тема №4 Организация памяти в системах основанных на архитектуре х86
Цель: Изучить принципы организации памяти, адресации данных в памяти и распределения памяти между процессами на примере архитектуры x86
Задача: получить и отработать на практике навыки мониторинга использования памяти процессами.
Оборудование:
Персональный компьютер с предустановленной ОС Linux Debian-based и Windows XP или новее
Информационное обеспечение: Сеть Интернет
Ход работы
Примечание:
1. Многие утилиты и команды Linux, используемые в этой работе, должны выполнятся от имени суперадминистратора. Для их выполнения можно использовать утилиту sudo по шаблону sudo <команда>. Например sudo reboot. Если в дистрибутиве нет sudo, например Debian 8-9, то нужно перед вводом команд перейти к работе с правами суперпользователя набрав команду su без параметров.
2. Команды windows выполняемые в интерпретаторе командной строки ("консоли/cmd"), в теории можно запустить из окна "выполнить". Но в этом случае, после выполнения команды, окно интерпретатора будет закрыто и результат выполнения вы не увидите. Поэтому нужно сначала запустить интерпретатор набрав cmd в окне "выполнить".
Если команда должна выполнятся от имени администратора то нужно найти cmd (Командная строка) в списке программ и запустить ее от имени администратора.
3. Перед началом работы определите порядок действий, чтобы тратить меньше времени на перезагрузки системы.
Перед началом работы запищите в отчет инвентарный номер системного блока на вашем рабочем месте!
Linux
Задание 1
Определить количество используемой памяти разного вида. Для этого можно использовать команды free или top. Для выхода из top нужно нажать "q"
В отчет: Указать сколько памяти всего, сколько свободно, сколько занято, сколько буфферезировано. Для вирутальной памяти (swap) указать сколько всего, сколько занято, сколько свободно, сколько кэшированно.
Задание 2
Получить список запущенных процессов с PID больше 1000. Для этого выполнить команду ps -A. Внимание! Регистр ключей в командах Linux важен! Для сохранения списка можно использовать перенаправление вывода ">>"
В отчет: Список процессов с указанием их PID и TIME
Задание №3
Выяснить, какие диапазоны адресов в памяти занимает процесс. Для этого выбрать один из процессов в списке полученном в задании 2.
После этого воспользоваться командой pmap -d <pid процесса> или cat /proc/<pid процесса>/maps. Например
pmap -d 4751, где 4751 pid процесса tload Для сохранения списка можно использовать перенаправление вывода ">>"
Для расшифровки можно использовать подсказку
В отчет Полученный список диапазонов адресов занимаемых компонентами процесса. С указанием их смещения относительно начального адреса.
Windows
Информация
Использование утилиты perfmon описано в статьях по ссылкам:
Счетчики производительности. Часть 1
Счетчики производительности. Часть 2
Счетчики производительности. Часть 3
Счетчики производительности процессора
Задание №4
Определить количество используемой памяти разного вида. Для этого можно открыть диспетчер задач и перейти на вкладку "Быстродействие"
Определите каков объем RAM
В отчет: Указать все данные о выделении памяти, физической памяти, памяти ядра, общие данные. Сравните данные об объеме памяти с объемом RAM
Задание №5
Получить список запущенных процессов. Определить сколько памяти занимает каждый процесс
В отчет: Полученные данные
Задание №6
Запустите Системный монитор (менеджер производительности) командой perfmon.
Ваша задача — изучить производительность памяти компьютера и определить наличие «узких мест» в ее работе.
Для этого нужно добавить набор счетчики, которые будут отслеживать различные параметры работы подсистемы памяти.
Рекомендуется подключить счетчики
- из объекта Процессор
- %загруженности процессора
- из объекта Память
- ошибок страницы/сек
- %использования выделенной памяти
- из объекта Файл подкачки
- %использования
Внимание! Для каждого счетчика назначьте свой цвет! Для этого нужно открыть свойства счетчика щелкнув по нему ПКМ. Отображение тех счетчиков, которые вам не интересны в данный момент можно отключить.
Задание №7
Завершите все приложения кроме perfmon.
Отслеживайте данные счетчиков в течении 10 минут. Предварительно настройте системный монитор так, чтобы графики максимально уместились на экране.
В отчет:
Полученные графики.
Задание №8
Запустите текстовый редактор и отследите данные счетчиков. Выгрузите редактор. Проделайте это действие не менее 3-х раз чтобы учесть влияние системных процессов.
В отчет: Наиболее характерный график. На графике отметить момент запуска программы
Задание №9
Запустите архивирование не менее 1 Гб данных и отследите данные счетчиков. Проделайте это действие не менее 3-х раз чтобы учесть влияние системных процессов.
В отчет: Наиболее характерный график. На графике отметить момент запуска архивирования
Задание 10
Запустите браузер. Откройте в нем страницу с «нагруженным» дизайном и страницу с youtube в котором запустите просмотр видео. Отследите данные счетчиков. Проделайте это действие не менее 3-х раз чтобы учесть влияние системных процессов.
В отчет: Наиболее характерный график. На графике отметить моменты запуска браузера, загрузки страницы, запуска видео.