У меня два вопроса:
Могу ли я установить для общего сетевого ресурса максимальную скорость загрузки? Или окна автоматически замедляют их, когда система выполняет тяжелый ввод-вывод?
Независимо от этого вопроса, влияет ли приоритет задачи в проводнике задач напрямую на использование диска или это делается только путем указания планировщику ЦП не запускать приложение с низким приоритетом так часто
Предыстория: я замечаю, что если я отправляю файлы через сеть на машину, тогда машина может работать лучше, чем когда у меня на машине установлен инструмент, который скачивает файлы.
Реализация Windows Server 2008 и более новых версий элементарная поддержка приоритетов ввода / вывода. Приоритет ЦП и приоритет ввода-вывода слабо связаны:
(изображение - снимок экрана, сделанный из http://www.bitsum.com/pl_io_priority.php что делает его отличным "дополнительным чтением") Вы можете определить приоритет операций ввода-вывода процесса, установив для него приоритет «Idle» - это установит приоритет ввода-вывода процесса на «очень низкий», остальные будут выполняться с «нормальным» приоритетом.
На данный момент общий ресурс не является объектом, которому вы можете дать приоритет, и ни одна из версий Windows до Server 2016 не разрешает приоритетные запросы для файлов, обслуживаемых сетью, - каждый запрос выполняется с одинаковым приоритетом.
В SMB 3.1.1 (Server 2016+, Windows 10) появился новый сетевой флаг: SMB2_FLAGS_PRIORITY_MASK
Этот флаг действителен только для диалекта SMB 3.1.1. Это маска для запрошенного приоритета ввода-вывода запроса, и оно ДОЛЖНО быть значением в диапазоне от 0 до 7.
(источник:Документация по заголовку пакета SMB2)
Мне не удалось найти никакой документации о том, как настроить клиент для запроса более высокого приоритета, как настроить сервер на то, следует ли выполнять такие запросы от определенных клиентов, как диапазон значений 0-7 отображается на 4 приоритета ввода-вывода Windows или если это полностью реализованная функция или просто определена как заполнитель в спецификации протокола SMB.