Влияет ли торрент-посев на кэширование ОЗУ жесткого диска?

Я скачал много торрент-файлов, и пока я их заполнял, я заметил, что очень часто, когда я запускаю браузер, он работает медленно и горит индикатор активности жесткого диска. Обычно, когда я запускаю программу, она кэшируется в ОЗУ, и ее повторный запуск происходит очень быстро, и у меня 3 ГБ ОЗУ, поэтому обычно она остается в кеше почти навсегда. Но когда мой торрент-клиент заполняется, кажется, что через час запущенные мной программы больше не кэшируются в ОЗУ.

Я подумал, может быть, это из-за того, что чтение с диска, которое выполняет торрент-клиент, кэшируется и со временем заполняет ОЗУ. Но я не думаю, что это необходимо, поскольку они читаются только один раз и вряд ли скоро будут прочитаны снова.

Итак, мои вопросы - так ли я думаю, и если да, то возможно ли в принципе предотвратить кэширование чтения с диска? Я могу попробовать отредактировать исходный код программы.

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

2 ответа

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

Но да, возможно обойти системный кеш, так как это общая проблема.

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

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

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

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

man 2 open
.
0
ответ дан 22 November 2011 в 11:29

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

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

0
ответ дан 22 November 2011 в 11:29

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

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