при монтировании устройства без опции « sync », например, путем вызова следующего:

mount -o async /dev/sdc1 /mnt

буфер связан с устройством для оптимизации (ускорения) операций чтения / записи. Есть ли способ определить размер этого буфера? Другой вопрос, который приходит мне в голову, заключается в том, можно ли выяснить, сколько из них используется в настоящее время. Это может быть интересно для определения времени, которое потребуется для « sync » или « umount » медленных устройств, таких как флэш-носители.

Заранее спасибо за ваши ответы, Райнер

1 ответ1

0

Там нет фиксированного размера. Все системы, с которыми я знаком (я уверен в Linux, и я думаю, что все устройства и даже Windows работают таким образом), используют как можно больше памяти для дисковых кешей: размер кэша чтения ограничен только доступной оперативной памятью и необходимость хранить память процесса в оперативной памяти тоже.

Команда vmstat или top может выводить некоторую статистику использования памяти. В Linux free более читабельно. Он показывает, сколько памяти отводится дисковым кешам и памяти процесса.

Буферы записи также не имеют фиксированного ограничения; решение о том, когда их очищать, основано на времени и загрузке диска больше, чем размер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .