2

Я загружаю торрент с дампом данных StackExchange. Было сделано около 40%, сегодня, когда я нажал на кнопку «возобновить», компьютер завис и практически не работал в течение 30 минут.

Через несколько минут открылся проводник процессов, и я обнаружил, что потребление памяти было на уровне 95% (от 3 ГБ), что объясняло, почему обработка каждого клика занимает столько времени. Однако, хотя я отобразил все процессы, я не смог найти никого, кто использовал бы столько памяти. Опера сама использовала около 150 МБ. Avast был почти невидим, когда речь шла об использовании памяти и загрузке процессора.

На моей машине установлено 3 ГБ оперативной памяти и установлена 64-разрядная ОС Windows7. Антивирус Avast. Дамп данных имеет около 11 ГБ.

Какой процесс может вызвать такое большое использование памяти на этапе проверки торрент-файлов? Этот процесс был невидим в режиме шоу процессов всех пользователей.

1 ответ1

3

Возьмите инструмент SysInternal под названием RAMMap .

Ваша память используется так называемыми отображенными в память файлами. Именно здесь ОС загружает кусок большого файла в память для доступа по запросу процесса, потому что это гораздо эффективнее для случайных запросов, чем многократный поиск местоположений в файле на диске.

Торрент-программы делают ОЧЕНЬ много случайного доступа к файлам, поэтому я бы поспорил, что Opera Torrent mmaps (memory-maps) свои файлы; Честно говоря, это лучшая вещь для торрент-клиента.

Проблема здесь в том, что во время проверки файлов Opera Torrent будет обращаться ко всему файлу последовательно. Это заставляет Windows загрузить весь файл в память или попытаться. Обычно он содержит только те фрагменты файла, которые загружаются в память, но теперь вся ваша память используется, поскольку Windows считает, что Opera Torrent нужен весь файл, чтобы остаться в памяти.

Причина, по которой mmapped-файл не относится к Opera Torrent, заключается в том, что mmapped-файлы являются общими для процессов. Конечно, Opera Torrent, возможно, запросил отображение файла в памяти, но если вы откроете его с помощью 7Zip, то у него будет доступ к тому же файлу, отображенному в памяти. Не нужно тратить память, загружая его дважды! Но теперь, кому принадлежит этот файл?

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