Вы уверены, что хотите это сделать?
- Вы должны поместить вещи, к которым вы хотите получить быстрый доступ на SSD. Если вы не кэшируете данные, ваш доступ, вероятно, будет медленнее (если вы не можете читать с SSD быстрее, чем из памяти), и каждый доступ потребует ввода-вывода.
- Считаете ли вы износ дополнительной записи приведет к SSD. Кэширование записи уменьшает количество операций ввода-вывода.
Дисковая кеш-память освобождается при необходимости для других целей. Если память не используется для других целей, она определенно будет потрачена впустую, если не будет использована для буферизации диска.
Прямой ввод-вывод, как вы указываете, обычно наблюдается в базах данных. Однако многие конфигурации базы данных гарантируют, что данные будут записаны на диск только при блочной записи. В противном случае неиспользуемая память используется для дисковых буферов. Это может сделать запросы на чтение с диска намного быстрее, чем требовалось бы, если бы данные читались с диска.
Некоторые операционные системы имеют (имели) флаги монтирования, которые требуют прямого ввода-вывода, а не буферизации. Я не видел упоминаний о такой опции в Linux. sync
вынудит данные работать быстрее, но я не верю, что они удаляются из памяти гораздо быстрее, чем это было бы в противном случае.
Опция не буферизовать ввод-вывод обычно делается на основе открытия. Программа открытия отвечает за выполнение соответствующих системных вызовов или установку соответствующих флагов в запросе открытия файла.