Я хотел бы внедрить кэш в памяти (некоторого типа) в моем приложении linux пользовательского пространства.
то, что я ищу, по сути такое же поведение, как и кеш буфера файловой системы linux: какая бы память не использовалась ничем другим, она используется моими процессами, которые кэшируют.
если бы я написал это с жестко заданным ограничением размера моего кэша, я должен по существу ограничить мой кэш до некоторого предопределенного значения, а не увеличиваться, если остальные процессы не используют столько памяти , или это сокращается, если использование памяти раздувается.
я хотел бы, чтобы linux вызывал какой-то обратный вызов, который уведомляет меня об удалении некоторых записей из моего кэша, когда ему действительно требуется память.
таким образом, всякая память, необходимая процессам, может быть удалена из моего кэша, а все, что осталось от памяти, выделяется для моего кэша.
Есть ли способ сделать это в Linux?
лучший способ сделать это, просто отслеживая / proc / meminfo и увеличивая размер моего кэша так, чтобы используемая физическая память была чуть меньше общей физической памяти?