Использует ли сеяние торренты на кэширование жесткого диска?

вы можете удалить пароль для ключей и найти расшифрованную версию keyring в ~/.local/share/keyrings/<name>.keyring

Простой скрипт Python должен быть достаточным для преобразования файла в XML

3
задан 22 November 2011 в 13:29

2 ответа

Это будет зависеть именно от той программы торрента, которую вы используете. Некоторые из них могут вести себя по-разному.

Но да, можно обойти системный кеш, поскольку это обычная проблема.

Если вам удобно редактировать источник (возможно, это должен быть на другом StackExchange ..) найти, где торрент-программа открывает файл с диска. Скорее всего, вызов open (). Если это fdopen (), то он использует stdlib, и я не уверен, что stdlib поддерживает прямой i / o.

Этот системный вызов принимает до трех аргументов, первый - это имя файла, второе - флаги , третья - необязательная маска создания файла. Флагов, вероятно, сейчас будет что-то вроде O_RDWR. Флаг для «не использовать системный кеш» - O_DIRECT, и вы объединяете флаги, разделяя их на |.

Таким образом, результатом аргумента flags в этом случае будет O_RDWR | O_DIRECT , Просто добавьте новый флаг.

Для получения дополнительной информации см.

man 2 open
3
ответ дан 25 May 2018 в 16:37
  • 1
    Отлично, спасибо за информацию. Я использую потоп, потому что он ближе всего к uTorrent. Он написан на python, но он использует libtorrent (rasterbar), я думаю, что находится на C ++. – sashoalm 22 November 2011 в 20:01
  • 2
    Хорошо, особенности могут отличаться, если это C ++ (может быть, используется boost или что-то например), но общая идея будет такой же, вы ищете прямые флаги ввода / вывода для установки. – Caesium 22 November 2011 в 20:06
  • 3
    Мне удалось добавить O_DIRECT и пересоздать и установить libtorrent-rasterbar в конце концов, но торренты начали иметь ошибки «Invalid Status», потому что :: open () вернет EINVAL, поэтому я отказался от этой идеи. – sashoalm 27 November 2011 в 17:24
  • 4
    Ах, поддержка файловой системы отсутствует: из man open: Некоторые файловые системы могут не реализовать флаг, а open () будет работать с EINVAL, если он используется. – Caesium 27 November 2011 в 18:36
  • 5
    Мой домашний раздел - ext4. Я думаю, что ошибка происходит только в некоторых файлах, большинство из них были в порядке, возможно, это было из-за комбинации флагов, которые не очень хорошо сочетаются друг с другом. – sashoalm 28 November 2011 в 01:22

Не закрывайте браузер:)

Кэш ввода-вывода (используемый только для чтения, а не для записи в файл), однако чрезмерный, не приведет к тому, что страницы, которые программа использует, поменять местами.

0
ответ дан 25 May 2018 в 16:37
  • 1
    Да, но моя проблема в том, что файлы на диске различных программ нужно перечитывать, когда я запускаю их вместо того, чтобы их уже кэшировать в ОЗУ. Без торрент-клиента через некоторое время мой ноутбук станет таким же быстрым, как если бы у него был SSD, потому что каждая запущенная программа уже кэшируется в ОЗУ. – sashoalm 27 November 2011 в 17:21

Другие вопросы по тегам:

Похожие вопросы: