Лекция посвящена продвинутым вопросам системного администрирования Linux.
Рассматриваются следующие темы:
— Ядро ОС Linux
— Выделяемые ресурсы ОС
— Виртуальная и резидентная память
— Выделение процессорного времени
— Планировщик задач CFS
— NUMA(Non-Uniform Memory Access)
— Планировщики ввода-вывода (элеваторы)
— CGROUPS — контрольные группы
Хронометраж:
00:00:05 О теме лекции
00:01:27 Ядро ОС: основные функции ядра
00:02:17 Ядро ОС: управление параметрами ядра (общий механизм)
00:02:35 Управление параметрами ядра ОС: интерфейс SYSCTL
00:04:36 Ядро ОС: модульная архитектура
00:06:06 Просмотр загруженных модулей ядра с помощью утилиты LSMOD
00:07:49 Ядро ОС: выделение ресурсов ОС приложению
00:08:11 Вопрос залу: в чем отличия между резидентной и виртуальной памятью?
00:08:42 Вопрос залу: кто из вас программировал на языках с ручным управлением памятью?
00:09:48 Выделяемые ресурсы ОС: виртуальная и резидентная память
00:12:09 Выделяемые ресурсы ОС: процессорное время
00:12:44 Выделяемые ресурсы ОС: ресурсы ввода-вывода, дескрипторы
00:13:36 Виртуальная и резидентная память: пример распределения памяти конкретного процесса
00:15:05 Виртуальная и резидентная память: использование раздела подкачки (swap)
00:16:01 Виртуальная и резидентная память: три стратегии выделения памяти
00:16:14 Стратегии выделения памяти: vm.overcommit_memory = 2
00:17:51 Стратегии выделения памяти: vm.overcommit_memory = 1
00:18:19 Событие OUT OF MEMORY
00:20:44 Стратегии выделения памяти: vm.overcommit_memory = 0
00:22:14 Виртуальная и резидентная память: единицы выделения памяти (страницы)
00:24:26 Виртуальная и резидентная память: HUGE PAGES
00:25:33 Два механизма выделения HUGE PAGES
00:34:52 Сложность решения задачи выделения процессорного времени
00:35:29 Выделение процессорного времени: немного истории
00:36:01 Выделение процессорного времени: кооперативная многозадачность
00:38:12 Выделение процессорного времени: вытесняющая многозадачность
00:39:56 Вытесняющая многозадачность: пример
00:41:22 Алгоритмы выделения процессорного времени в Linux
00:44:08 Два независимых вида приоритетов процессов в Linux
00:46:10 Каким образом работает планировщик задач (CFS)?
00:47:31 CFS: алгоритм управления процессорным временем (SCHED_NORMAL — политика по умолчанию)
00:50:54 CFS: политики планирования задач
00:51:16 Политики планирования задач: SCHED_FIFO
00:53:09 Политики планирования задач: SCHED_RR
00:54:42 Работа с приоритетами: практика, команда NICE
00:57:40 Назначение реалтаймовых приоритетов: команда CHRT
00:59:29 NUMA(Non-Uniform Memory Access)
01:04:00 Работа с NUMA: практический пример
01:06:59 Работа с NUMA: утилита NUMACTL
01:08:54 Вопрос из зала: об архитектурах процессоров
01:11:02 Вопрос из зала: об оптимизации работы приложений с помощью NUMA
01:12:24 Планировщики ввода-вывода (элеваторы)
01:13:51 Планировщики ввода-вывода: NOOP
01:15:41 Планировщики ввода-вывода: CFQ
01:17:14 Планировщики ввода-вывода: DEADLINE
01:18:51 CGROUPS — контрольные группы
01:20:46 Иерархия CGROUPS: пример
01:22:31 CGROUPS: управляемые ресурсы
01:23:46 CGROUPS: пример управления ресурсами
01:26:13 Управление лимитами ввода-вывода
01:27:23 Ответ на вопрос из зала: об основных иерархиях CGROUPS
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
А мы пьяные, счастливые как будто по 16
Мы закружились в танце и лезем целоваться
И нас не понимают, нам нравится смеяться
Болтаем не своём, как-будто иностранцы
О-о как же ты красива
О-о губы вкуса мандарина
О-о дальше будет лучше
О-о пото потому что
Припев (х2)
Пото, пото, пото, пото, пото, потому что
Это, это, это, это, это наши чувства
Люба, Люба, Люба, Люба, Люба до безумства
Опасная ты штучка взрывная как шипучка
Куплет:
С тобой я сумасшедший
Зачем меня Манила
Теперь мы неразлучны как кола и ванила
С тобой хоть на край света
А можем здесь остаться
Нам нечего стесняться, давай поедем зайцем
раз, два, три, четыре, пять, убегаем мы опять
шесть, семь, восемь, все что хочешь
Можем даже полетать
Мы такие молодые
Хоть карманы и пустые
Но нас это и не парит
Мы с тобою ходим парой
О-о как же ты красива
О-о губы вкуса мандарина
О-о дальше будет лучше
О-о пото потому что
Припев (х2)
Пото, пото, пото, пото, пото, потому что
Это, это, это, это, это наши чувства
Люба, Люба, Люба, Люба, Люба до безумства
Опасная ты штучка взрывная как шипучка
Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.
Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.
Мы разработали и поддерживаем экзабайтное облачное объектное хранилище (S3-совместимое), и нам необходимо сохранять метаданные объектов. Работа с метаданными сложнее работы с данными, т.к. необходимо поддерживать конкурентные операции по записи/удалению одного и того же объекта, версионирование и т.п. Наше хранилище поддерживает работу в режиме active-active через два дата-центра (eventual consistency), что дополнительно усложняет слой метаданных.
…
Нашли ошибку в видео? Пишите нам на support@ontico.ru
В этом видео затронем моменты:
◘ Симулятор как взломать WiFi
◘ Симулятор как взломать почту
◘ Симулятор как взломать сайт
◘ Симулятор как взломать ssh
◘ Симулятор как взломать банк
◘ Как выучить Kali Linux
Grey Hack — продвинутый симулятор хакера, где в вашем распоряжении окажется глобальная, случайно генерируемая компьютерная сеть!
Это многопользовательский проект в стиле симулятора, где тебе предстоит проникнуться судьбой самого настоящего взломщика. Ты сыграешь роль хакера, который обладает полной свободой действий на протяжении всего игрового процесса. Ты будешь самостоятельно принимать те или иные решения в зависимости от возникающей ситуации. Компьютерная сеть будет каждый раз создаваться по-разному, что только разнообразит твое времяпровождения. Интерфейс игры основан как рабочий стол, на котом ты и будешь совершать дальнейшие действия с операционной системой. Тебе будут доступны несколько программ, куда также включен проводник файлов, текстовый редактор и командный терминал. По мере прохождения, и по мере того, как ты будешь усовершенствовать свои навыки, знания и умения, будут открываться все больше и больше программ, для дальнейшего успеха в работе. Ты будешь делать все возможное, чтобы взломать ту, или иную систему, руководствуясь программным кодом и основной базой для удачного выполнения задания. Мир игры будет постоянно меняться, поэтому ты должен быть готов даже к самым неожиданным поворотам. И даже попасть в DarkNet… а в DeepWeb вас ожидает множество квестовых заданий для хакера.