Память в Linux. Cache, swap, dirty pages // Демо-занятие курса «Administrator Linux. Professional»
HTML-код
- Опубликовано: 26 сен 2024
- Приглашаем вас 17 октября, во вторник, в 20:00 мск на бесплатный открытый урок по теме: «Память в Linux. Cache, swap, dirty pages». Мы обсудим, как устроена память в Linux и как эффективно с ней работать.
«Administrator Linux. Professional» - otus.pw/kb66/
Преподаватель: Андрей Буранов - системный администратор в VK, работает с операционной системой Linux более 7 лет
Подключайтесь к обсуждению в чате - otus.pw/KTUK/
Пройдите опрос по итогам мероприятия - otus.pw/1Lfe/
Следите за новостями проекта:
- Telegram: t.me/Otusjava
- ВКонтакте: otus.pw/850t
- LinkedIn: otus.pw/yQwQ/
- Хабр: otus.pw/S0nM/
08:20 Agenda
09:10 Вопросы
13:00 Начало
13:09 free, описание полей:
13:52 - total
14:32 - used
14:45 - free
15:46 - shared
18:11 - buff/cache
19:20 - Почему Linux съедает память?
20:00 - Удаляется ли файл процесса после завершения из cache?
21:37 - Итог про free память.
21:50 - available
22:54 - Можно ли ТОЧНО рассчитать доступную память при необходимости?
23:18 Вопросы.
23:52 /proc/meminfo
25:09 /proc/sys/vm/drop_caches, очистка cache
26:56 Страницы памяти
29:14 Выделение памяти для процесса:
32:56 - /proc/meminfo, VmallocTotal - максимально возможная адресация в рамках данной архитектуры
33:34 - /proc/meminfo, Committed_AS
35:05 - Редактирование файла, dirty pages
35:48 - /proc/meminfo, Dirty
37:25 Настройка dirty pages
37:32 - sync - сброс dirty pages
42:30 - /proc/sys/vm/dirty_*, настройка сброса dirty pages
55:32 - /etc/sysctl.conf, конфигурация dirty pages
55:46 - /etc/sysctl.d/*, файлы настройки sysctl
57:09 Swap
59:07 /proc/meminfo, Active(anon), Inactive(anon) - Анонимный кэш
1:05:39 /proc/sys/vm/swappiness
1:07:03 swappiness - что такое
1:09:10 Когда нужно освобождать память системе?
1:09:23 - /proc/zoneinfo
1:25:19 inode
1:30:05 /proc/1/maps - детализация памяти
1:36:21 hardlink
1:38:02 super block, tune2fs -l /dev/mapper/vg00-root
1:38:30 - dd if=/dev/mapper/vg00-root bs=1 count=1024 skip=1024 | hexdump -C, bin super block
Лекция реально полезная, наверняка это везде написано, но именно способ донесения очень понравился.
Отличный доклад
Лучшее обьяснение про swap.
Спасибо! Лучший лектор!
Спасибо, Андрей!
Очень круто! Спасибо!
В unix-like есть Direct I/O, т.е. чтение из файла минуя кэш. В oracle можно было настроить такой режим работы, до разработки и внедрения asm.
Во всех оракловых гайдах и MOS нотах swap упоминается для стабильной работы, чтобы это не значило. Возможно инсталлятор ругнется, если свопа не будет, но далее его можно спокойно отключить.
Да конечно есть. Смотрю главу Direct I/O в доках Red Hat и вижу "Direct I/O is a feature of the file system whereby file reads and writes go directly from the applications to the storage device, bypassing the operating system read and write caches."
Автор с уверенным голосом просто дезинформирует аудиторию. Либо в словах очень неаккуратен и косноязычен, либо есть вопросы к компетентности.
по вашим занятиям можно подготовится к собеседованию
Load average не может быть "количеством процессов в очереди на ожидание ресурсов" 1:35:14 Потому что в эти процессы входят и обрабатываемые процессором. О чем автор видео и сказал далее - процессы со статусом R.
Вижу и слышу про Линукс!
Не совсем понятно про expire. А если я еще изменяемый файл в редакторе не сохранил?
Видно, но не слышно. Смотрю вглухую!!!
Kali Linux будет освящаться?
Изучаю Linux. Хочу Kali Linux!
зачем тебе изуродованный debian?
ставь debian тогда уж и собери из него свой КАЛи в котором ты будешь разбираться лучше.
Не слушай никого, решил - делай
16:27 Как это в Linux нет технологии, позволяющей лезть в память процессов? А файл /proc//mem ?
Тут же задают вопрос про gdb, и ответ, что мол "этот доступ идет через системный вызов и дело не в процессе" вообще непонятен ("Сказать что этот вот туда" - это что-то на уровне Кличко).
См статью Baeldung про этот файл.
Кроме gdb - масса софта лезет в память других процессов. Например, антивирусы читают память других процессов, и хаки к играм спокойно меняют байты в памяти других процессов.