Назад | Перейти на главную страницу

Какова цель рамдиска, когда существует fadvise?

Насколько я понимаю, fadvise сообщит системе, что указанные файлы должны храниться в кэше файловой системы (RAM).

Какова цель монтирования каталога на ramdisk, если вы можете просто fadvise --willneed каталог?

Давайте читать страница руководства для вызова базовой библиотеки:

Программы могут использовать posix_fadvise (), чтобы объявить о намерении получить доступ к данным файла по определенному шаблону в будущем, тем самым позволяя ядру выполнять соответствующие оптимизации.

В совет применяется к (не обязательно существующей) области, начиная с смещение и распространяется на len байтов (или до конца файла, если len равно 0) в файле, на который указывает fd. В совет не является обязательным; он просто представляет собой ожидание от имени приложения.

(Курсив добавлен.)

Все, что находится на RAM-диске, по замыслу гарантированно находится в RAM (хотя tmpfs можно выгрузить). Но причуда - всего лишь совет; ядру не требуется ни предварительно загружать данные в RAM, ни всегда хранить их в RAM.