Кирилл из Hexlet.io рассказывает про редактор Vim — в чем его сила, почему его нельзя просто сравнивать с другими редакторами или IDE, как Кирилл сам использует Vim, почему у нас в команде все используют Vim (притом чаще всего с конфигом Кирилла), ну и показывает несколько клевых приемов и фишек.
Лекция посвящена продвинутым вопросам системного администрирования 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
Счастливая админская рутина всегда может накрыться известным местом, когда суровая жиза выбивает полевые компы. В итоге заводскому админу ничего не остаётся кроме как выбраться из уютного кабинета на железные пустоши. Без инструментов, экипировки и запасных путей отхода.
Алексей Фёдоров — один из лучших российских экспертов по квантовым технологиям, руководитель научной группы Российского квантового центра, PhD по теоретической физике Университета Париж-11.
В субботу, 5 декабря, Алексей Фёдоров выступит на самой большой конференции Яндекса для разработчиков — YaTalks. Регистрация, расписание и прямой эфир: yatalks.yandex.ru
14:06 — про Sun Fire 1500
32:07 — про Silicon Graphics O2
57:51 — Про дисковый Rack для 5,25-слота
1:20:20 — Про Яндекс.Станцию
1:47:00 — Про новинки в моём музее
2:07:22 — Про ремонт JoyCon-а
2:35:21 — Про использование Roland MT-32 в DosBox на Linux
2:46:13 — Про кассу АТОЛ в качестве синтезатора музыки
Стрим с ответами на вопросы будет завтра, 1го января 2019г. в 14:00 Мск.