Mac OS X использует унифицированный буферный кэш. Это означает, что в ядре объекты и файлы виртуальной машины находятся на некотором уровне, то же самое, и размер доступной памяти для кэширования полностью зависит от нагрузки на виртуальную машину в остальной части системы. Это также означает, что кэширование чтения и записи унифицировано, если элемент в кэше чтения записывается в него, он просто помечается как грязный, а затем записывается на диск при внесении изменений.
Таким образом, кэш-память на диске может быть очень маленькой или гигабайтной и динамически изменяться по мере использования системы. Из-за этого попытка определить размер кэша и оптимизировать его на основе является проигрышной борьбой. Вам гораздо лучше смотреть на вещи, которые сообщают кешу, как лучше работать, например, проверять оптимальный размер ввода-вывода базового устройства или определять данные, которые не следует кэшировать, и использовать F_NOCACHE.