В ядре Linux 6.5 появится системный вызов cachestat
В кодовую базу, на основе которой формируется ядро Linux 6.5, принято изменение с реализацией нового системного вызова «cachestat», позволяющего программам в пространстве пользователя запрашивать более детальную статистику из страничного кэша на стороне ядра.
Расширяя уже существующий системный вызов «mincore», используемый для определения, присутствуют ли страницы в памяти, вызов «cachestat» позволяет запрашивать более подробную статистику кэша страниц и стремится обеспечить большую масштабируемость. Системный вызов «cachestat» сообщает такие сведения, как количество прокэшированных страниц, грязных (dirty) страниц, вытесненных страниц, недавно вытесненных страниц и страниц, отмеченных для отложенной записи (writeback).
Предоставляемая статистика для файлов позволяет точнее принимать решения по работе с вводом-выводом, проходящим через VFS, основываясь не только на абстрактном алгоритме, но и учитывая характеристики конкретной системы в конкретный момент времени.
Возможные варианты использования cachestat () приложениями:
Планировщик запросов в СУБД сможет решать, выполнять ли сканирование индекса или напрямую читать данные из таблицы, основываясь на состоянии табличного индекса в страничном кэше.
Гранулированное и зависимое от нагрузки манипулирование наполнением и вводом-выводом страничного кэша (например «грязных» (dirty) страниц/страниц, помеченных на отложенную запись (writeback)), меняя частоту синхронизации — от очень частой при слабой нагрузке и до пакетной при всплесках нагрузки.
Возможность более наглядного и удобного представления информации об использовании памяти в больших файлах/директориях, аналогично тому как утилита «du» позволяет отображать использование дискового пространства.
- Упрощение диагностики и отладки отложенной записи при проблемах с производительностью.
Источник: http://www.opennet.ru/opennews/art.shtml? num=59435
© OpenNet