В кодовую базу, на основе которой формируется ядро Linux 6.5, принято изменение с реализацией нового системного вызова "cachestat", позволяющего программам в пространстве пользователя запрашивать более детальную статистику из страничного кэша на стороне ядра.
Системный вызов "cachestat" сообщает такие сведения, как количество прокэшированных страниц, грязных (dirty) страниц, вытесненных страниц, недавно вытесненных страниц и страниц, отмеченных для отложенной записи (writeback).
Возможные варианты использования cachestat() приложениями:
▪️ Планировщик запросов в СУБД сможет решать, выполнять ли сканирование индекса или напрямую читать данные из таблицы, основываясь на состоянии табличного индекса в страничном кэше.
▪️ Гранулированное и зависимое от нагрузки манипулирование наполнением и вводом-выводом страничного кэша, меняя частоту синхронизации - от очень частой при слабой нагрузке и до пакетной при всплесках нагрузки.
▪️ Возможность более наглядного и удобного представления информации об использовании памяти в больших файлах/директориях.
▪️ Упрощение диагностики и отладки отложенной записи при проблемах с производительностью.
Linux / Линукс 🥸