В этой компиляции из двух статей приводятся распространенные методы предотвращения фрагментации памяти в Linux, а также разбираются принципы ее уплотнения, способы просмотра индекса фрагментации и прочие нюансы. Читать дальше →
У нас в Phusion работает простой многопоточный HTTP-прокси на Ruby (раздаёт пакеты DEB и RPM). Я видел на нём потребление памяти 1,3 ГБ. Но это безумие для stateless-процесса… Вопрос: Что это? Ответ: Использование памяти процессом Ruby с течением времени! Оказывается, я не одинок в этой проблеме. Приложения Ruby могут использовать много памяти. Но почему? Согласно Heroku и Нейту Беркопеку, в основном раздутие связано с фрагментацией памяти и чрезмерным распределением по кучам. Читать дальше →
Что такое память и какие они бывают в Linux? Как с ней взаимодействовать? Каковы её особенности?Как реализована память в ядре Linux? Как с ней работать?Что такое кластеры, откуда в ядре Linux грязные и чистые страницы - читайте в этой статье! Читать далее
2020 год. Повсюду карантин. И эта статья тоже про карантин, но он другого рода. Я расскажу об экспериментах с карантином для динамической памяти ядра Linux. Это механизм безопасности, противодействующий использованию памяти после освобождения (use-after-free или UAF) в ядре Linux. Я также подведу итоги обсуждения моей патч-серии в списке рассылки ядра (Linux Kernel Mailing List, LKML). Читать дальше →