Por que meu sistema processa E / S de disco?

0

Às vezes, quero ver quanto dos meus recursos um programa está realmente usando. Mas parece que, muitas vezes, mesmo que o processo esteja fazendo muito , por exemplo, ele dificilmente não faz nenhum disco IO. O processo System , por outro lado, está fazendo muito dele.

Por exemplo, no meu caso específico agora, eu tenho um pequeno servidor SFTP que está recebendo muitos dados, o que eu posso ver na aba Rede no Monnitor de Recursos . Mas na tab Disk , dificilmente está fazendo alguma coisa, exceto algumas pequenas leituras para X:\$BitMap e X:\$Mft . O System , no entanto, parece ter uma velocidade de gravação similar à velocidade de recepção da rede, e os arquivos que está acessando são aqueles que o servidor SFTP está recebendo.

O que está realmente acontecendo aqui?

    
por Svish 03.09.2015 / 12:08

1 resposta

1

O processo do sistema é onde reside o segmento MappedPageWriter. Este encadeamento é responsável por escrever páginas modificadas de arquivos mapeados nos arquivos a que pertencem. (É um primo do encadeamento ModifiedPageWriter, também no processo System, que faz o mesmo para páginas modificadas que são suportadas pelo arquivo de paginação ... o encadeamento ModifiedPageWriter é o que grava no arquivo de paginação.)

O mecanismo de arquivos mapeado é usado pelo cache de arquivos do Windows, que é usado por padrão quando um programa faz o acesso tradicional de leitura / gravação a um arquivo. E, claro, se o seu servidor sftp está usando arquivos mapeados ao invés de chamadas r / w para seus arquivos recebidos, estes também são arquivos mapeados.

Portanto, essa é uma parte normal da gravação de arquivos no Windows ... a menos que o programa tenha aberto o arquivo de saída com FILE_FLAG_NOBUFFERING, que ignora o cache de arquivos do Windows (e tem muitas desvantagens).

    
por 04.09.2015 / 06:48