Память в Linux. Cache, swap, dirty pages // Демо-занятие курса «Administrator Linux. Professional»
HTML-код
- Опубликовано: 17 окт 2023
- Приглашаем вас 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 - масса софта лезет в память других процессов. Например, антивирусы читают память других процессов, и хаки к играм спокойно меняют байты в памяти других процессов.