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

Например, в моем конкретном случае сейчас у меня есть небольшой SFTP-сервер, который получает много данных, которые я вижу на вкладке Сеть в Resource Monnitor. Но в Таблице дисков он почти ничего не делает, кроме небольшого чтения X:\$BitMap и X:\$Mft . Система , однако , кажется, скорость записи , аналогичную сети получают скорость, и файлы это доступ в те сервер SFTP в момент получения.

Что на самом деле здесь происходит?

1 ответ1

1

Системный процесс - это место, где находится поток MappedPageWriter. Эта тема отвечает за запись измененных страниц сопоставленных файлов в файлы, к которым они принадлежат. (Это двоюродный брат потока ModifiedPageWriter, также в системном процессе, который делает то же самое для измененных страниц, которые поддерживаются файлом подкачки ... поток ModifiedPageWriter - это то, что записывает файл подкачки.)

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

Итак, это нормальная часть записи файлов в Windows ... если только программа не открыла выходной файл с помощью FILE_FLAG_NOBUFFERING, который обходит файловый кеш Windows (и имеет много недостатков).

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