Os processos no Windows 7 são armazenados em cache?

4

Estou analisando meu aplicativo java usando o Windows Performance Analyzer . Meu aplicativo é um analisador simples, que usa um programa de linha de comando externo para analisar arquivos. Este programa externo é chamado para cada arquivo. Aqui está como parece quando executado no Windows 7:

Como você pode ver, existem dois processos de curta duração criados simultaneamente: conhost.exe e %código%. O que é estranho é que, pela primeira vez, esses processos estão vivos por muito mais tempo do que tarde. Qual pode ser a causa disso?

É possível que o Windows armazene esses processos de alguma forma?

    
por Kao 09.10.2014 / 10:45

2 respostas

4

O Windows 7 de fato armazena em cache todos os tipos de arquivos, incluindo aplicativos, na memória. Seu palpite provavelmente está correto, o fato de os processos estarem na memória os faz começar muito mais rapidamente. Os arquivos executáveis não são apenas armazenados em cache, mas as DLLs de que precisam também estão carregados e prontos.

    
por 09.10.2014 / 10:52
1

conhost.exe é o processo de hospedagem do console, que é iniciado pelo prompt de comando (cmd). Está presente porque você está usando um programa de linha de comando.

src2srcml.exe faz parte do srcML toolkit e está presente provavelmente porque você é manipulando arquivos de marcação de origem ou XML.

Por que é mais lento na primeira chamada, como já foi observado por MoJo, é porque a primeira chamada carrega objetos nedeed na memória. Enquanto o Windows não requer a RAM, ele irá deixar nele todos os blocos de arquivos que foram lidos ou escritos.

Isso inclui arquivos executáveis, arquivos DLL, tabelas de disco, estrutura de diretório, arquivos de dados do usuário, o registro, módulos do kernel necessários, em suma tudo e qualquer coisa que reside no disco é armazenado em cache pelo Windows.

O tamanho do cache é totalmente dinâmico e pode se estender a mais da metade da RAM. Como a memória é exigida pelos programas, o Windows libera os blocos lidos. Também verificará periodicamente a necessidade de escrever blocos modificados para que eles possam se tornar candidatos à libertação (escrita preguiçosa), e é por isso que não é uma boa idéia para puxar o plugue de energia em um computador com Windows.

É por isso que as invocações mais recentes são mais rápidas, porque o Windows se adaptou ao seu precisa carregando na RAM todos os objetos necessários.

Para obter mais informações, consulte o cache de arquivos do blog da Microsoft. ou Conceitos de E / S .

    
por 22.10.2014 / 19:54