Как ограничить операции ввода-вывода в приложении .NET?

Я разрабатываю приложение (.NET 4.0, C #), которое:
1. Сканирует файловую систему.
2. Открывает и читает несколько файлов.

Приложение будет работать в фоновом режиме и не должно сильно влиять на использование диска. Это не должно беспокоить пользователей, если они выполняют свои обычные задачи, а дисковое пространство используется слишком высоко. И наоборот, приложение может работать быстрее, если диском никто не пользуется.
Основная проблема в том, что я не знаю реального количества и размера операций ввода-вывода из-за использования API (mapi32.dll) для чтения файлов. Если я прошу API сделать что-то, я не знаю, сколько байтов он читает для обработки моего ответа.

Таким образом, возникает вопрос , как контролировать и управлять использованием диска? Включая сканирование файловой системы и чтение файлов ...

Проверить счетчики производительности, которые используются стандартным инструментом Performance Monitor? Или любыми другими способами?

15
задан Preguntón Cojonero Cabrón 8 June 2018 в 04:06
поделиться