Привет! Меня зовут Роман Гущин. В Яндексе я занимаюсь ядром Linux. Некторое время назад я провел для системных администраторов семинар, посвященный общему описанию подсистемы управления памятью в Linux, а также некоторым проблемам, с которыми мы сталкивались, и методам их решения. Большая часть информации описывает «ванильное» ядро Linux (3.10), но некоторая часть специфична для ядра, использующегося в Яндексе. Вполне возможно, семинар окажется интересен не только системным администраторам, но и всем, кто хочет узнать, как в Linux устроена работа с памятью.
Основные темы, затронутые на семинаре:
- Задачи и компоненты подсистемы управления памятью;
- Аппаратные возможности платформы x86_64;
- Как описывается в ядре физическая и виртуальная память;
- API подсистемы управления памятью;
- Высвобождение ранее занятой памяти;
- Инструменты мониторинга;
- Memory Cgroups;
- Compaction — дефрагментация физической памяти.
Под катом вы найдете более подробный план доклада с раскрытием основных понятий и принципов.
Читать полностью »