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

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

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

В чем смысл монтирования каталога в RAM-диск, если можно просто монтировать fadvise --willneedкаталог?

решение1

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

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

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

(Выделено мной.)

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

Связанный контент