umike писал(а):
87378594По крайней мере для меня загадка что именно он там делает и как оценить эффективность этого кэша.
Стандартный кэш ОС работает предсказумемым образом. Все читаемое с диска оседает в памяти, пока она не заполнится. Когда память заполнится, вступает в дело механизм LRU (Least Recently Used), то есть ядро выкидывает из памяти самые редко используемые фрагменты данных. То есть вполне неплохо обеспечивает содержание в памяти самых востребованных данных с диска.
Оценить эффективность со стороны клиента никак, только через мониторинг самого ядра.
umike писал(а):
87378594Например, если линух делает упреждающее чтение, читая больше запрошенного в кэш (в надежде что это сейчас тоже запросят, как бывает при работе с обычными пользовательскими файлами) то он делает это зря, напрасно увеличивает активность дисков.
Стандартный read-ahead в линуксе всего 128 КБ, это меньше чем типичный размер 1 части в торренте. Но могут быть вариации в зависимости от фс (например у Btrfs 4 МБ по-умолчанию).
umike писал(а):
87378594И может быть тогда лучше попробовать откатиться на libtorrent v1 и задать ему кэш вручную?
Можно обновиться до актуальной версии. В 5.0.1 я добавил новый режим I/O для libtorrent 2.0.
Но можно и на libtorrent 1.2 спрыгнуть, если лень возиться.