Ajuste de desempenho para gerenciador de memória e cachePerformance Tuning Cache and Memory Manager

Por padrão, o Windows armazena em cache os dados de arquivo que são lidos em discos e gravados em discos.By default, Windows caches file data that is read from disks and written to disks. Isso significa que as operações de leitura leem dados de arquivos de uma área na memória do sistema conhecida como o cache de arquivo do sistema, em vez do disco físico.This implies that read operations read file data from an area in system memory, known as the system file cache, rather than from the physical disk. Do mesmo modo, as operações de gravação gravam dados de arquivo no cache de arquivo do sistema em vez de no disco, e esse tipo de cache é conhecido como um cache de write-back.Correspondingly, write operations write file data to the system file cache rather than to the disk, and this type of cache is referred to as a write-back cache. O armazenamento em cache é gerenciado por um objeto de arquivo.Caching is managed per file object. O armazenamento em cache ocorre sob a direção do Gerenciador de Cache, que opera continuamente durante a execução do Windows.Caching occurs under the direction of the Cache Manager, which operates continuously while Windows is running.

Os dados de arquivo no cache do sistema de arquivos são gravados no disco em intervalos determinados pelo sistema operacional.File data in the system file cache is written to the disk at intervals determined by the operating system. As páginas liberadas permanecem no conjunto de trabalho do cache do sistema (quando FILE_FLAG_RANDOM_ACCESS for definido e o identificador de arquivo não estiver fechado) ou na lista de espera na qual elas se tornam parte da memória disponível.Flushed pages stay either in system cache working set (when FILE_FLAG_RANDOM_ACCESS is set and file handle wasn't closed) or on the standby list where these become part of available memory.

A política de atrasar a gravação dos dados no arquivo e mantê-los no cache até que o cache seja liberado é chamada de gravação lenta, e é acionada pelo Gerenciador de Cache em um intervalo de tempo determinado.The policy of delaying the writing of the data to the file and holding it in the cache until the cache is flushed is called lazy writing, and it is triggered by the Cache Manager at a determinate time interval. A hora na qual um bloco de dados de arquivo é liberado tem base em parte na quantidade de tempo que ele ficou armazenado no cache e na quantidade de tempo desde que os dados foram acessados pela última vez em uma operação de leitura.The time at which a block of file data is flushed is partially based on the amount of time it has been stored in the cache and the amount of time since the data was last accessed in a read operation. Isso garante que os dados de arquivos lidos com frequência permaneçam acessíveis no cache de arquivo do sistema pelo máximo de tempo.This ensures that file data that is frequently read will stay accessible in the system file cache for the maximum amount of time.

Esse processo de armazenamento em cache de dados do arquivo é ilustrado na figura a seguir:This file data caching process is illustrated in the following figure:

armazenamento em cache de dados do arquivo

Conforme representado pelas setas sólidas na figura anterior, uma região com 256 KB de dados é lida em um slot de cache de 256 KB no espaço de endereço do sistema na primeira solicitação pelo Gerenciador de Cache durante uma operação de leitura de arquivo.As depicted by the solid arrows in the preceding figure, a 256 KB region of data is read into a 256 KB cache slot in system address space when it is first requested by the Cache Manager during a file read operation. Em seguida, um processo do modo de usuário copia os dados deste slot em seu próprio espaço de endereço.A user-mode process then copies the data in this slot to its own address space. Após a conclusão do acesso a dados pelo processo, ele grava os dados alterados de volta ao mesmo slot no cache do sistema, como mostrado a seta pontilhada entre o espaço de endereço do processo e o cache do sistema.When the process has completed its data access, it writes the altered data back to the same slot in the system cache, as shown by the dotted arrow between the process address space and the system cache. Quando o Gerenciador de Cache determinar que os dados não são mais necessários para um determinado período, ele gravará os dados alterados novamente no arquivo no disco, conforme mostra a seta pontilhada entre o cache do sistema e o disco.When the Cache Manager has determined that the data will no longer be needed for a certain amount of time, it writes the altered data back to the file on the disk, as shown by the dotted arrow between the system cache and the disk.

Nesta seção:In this section: