Questão Como interpretar as informações de memória virtual do Windows XP - os 10 números e 1 gráfico


Como os números nas informações da memória virtual do Windows XP devem ser interpretados? Estou interessado apenas em:

1) Qual é o tamanho total que é livre como na RAM física "intocada", para que o sistema não troque nada?

Para experimentar, eu configurei uma máquina virtual usando o Windows 7, executando o Windows XP, com memória de 768MB. Para simplificar, a memória virtual é definida como "0" (não use nenhum arquivo de paginação).  A seguir, informações e gráficos do sistema:

alt text

Assim são os 145MB (aproximadamente) da RAM física "intocada"? Na verdade, houve um caso em que o XP apareceu em um pequeno balão na barra de tarefas dizendo "Não há memória virtual suficiente" quando esse número era de cerca de 120 MB. Acredito que o pequeno aplicativo que estou executando só deve solicitar alguns MB apenas. Então, 120MB deve estar bem o suficiente. Então eu me pergunto por que isso acontece.

E os outros números?

785904
145432 (listing here to make a complete list)
128436

29312
23620
5692

25
740252
735132

582MB (the bar for PF Usage)

and the horizontal line for "Page File Usage History"

Agora, como a memória virtual está definida como "Não usar nenhum arquivo de página", o uso de PF não deve ser 0? E assim a linha horizontal para "Histórico de Uso de Arquivos de Páginas" deve permanecer em 0 sempre? obrigado.

Atualizar:  e digamos que, se o arquivo de paginação for feito para um tamanho de arquivo fixo de 256MB, e a informação também for mostrada como a imagem acima, então como esses 10 números serão interpretados?

E neste caso, se o "Disponível" caiu devagar e agora ainda é 120MB, então deve significar que o arquivo de paginação não foi usado em tudo?


4


origem




Respostas:


Como interpreto a guia Desempenho do Gerenciador de Tarefas?

Em primeiro lugar, vamos falar sobre os números. Eles estão em 4 grupos, chamados Totais, Taxa de Confirmação, Memória Física e Memória do Kernel.

Totais: informa quantas alças, processos e encadeamentos foram alocados no sistema operacional. Os números são contadores simples, mas as palavras são bem complicadas de explicar, porque são conceitos básicos de programação, e conceitos básicos são sempre complicados (tente explicar o verbo 'ser' algum tempo).

Alças: o kernel fornece programas com 'objetos', como arquivos, seções de memória compartilhada, chaves de registro e assim por diante. Um programa manipula uniformemente um objeto por meio de um identificador, que é uma conexão temporária com o objeto. Um identificador não é o objeto; por exemplo, se um arquivo for aberto para 17 usos diferentes ao mesmo tempo, ele terá 17 alças diferentes conectadas a ele.

Processos: Um processo é uma instância de um programa em execução. Se você estiver executando o Explorer 3 vezes, haverá 3 processos em execução. Veja a diferença? O programa é o que persiste - o programa que você teve ontem é o programa que você tem hoje (a menos que você tenha feito alguma coisa!). Processos vêm e vão.

Tópicos: o que realmente é executado em um processo. Cada processo é composto de um ou mais threads, por decisão do programador. Os threads são executados de uma maneira mais ou menos independente. Se você tivesse processadores suficientes, todos poderiam realmente ser executados no mesmo instante. Caso contrário, eles parecem estar todos funcionando ao mesmo tempo.

Nenhum desses números tem valores "adequados". Principalmente, se eles começam a aumentar sem limite, então é hora de suspeitar que algo está errado. Um programa pode causar um 'vazamento de identificador' ao não fechar arquivos, por exemplo (embora, se você eliminar o processo, todas as suas alças serão fechadas pelo SO; isso não é o DOS).

Comprometer carga: isso mede a quantidade de 'memória virtual comprometida' (veja o Perguntas frequentes da VM para o fundo) no sistema. Essa é toda a memória solicitada por processos que não são suportados por algum arquivo nomeado (por exemplo, as instruções do programa são armazenadas no arquivo program.exe e, portanto, não são contadas na cobrança de confirmação). Uma maneira de analisar isso é que o sistema possui um determinado orçamento para a memória virtual e cada solicitação de programa é cobrada desse orçamento.

o Total commit charge é o valor atual em uso; O Limite é a soma dos tamanhos do arquivo de paginação e da memória física disponível em princípio para programas (ou seja, sem contar todas as partes permanentemente residentes).

o Pico é simplesmente o maior valor registrado desde a inicialização.

Memória física: Isso é facil. O total é a quantidade de memória que o sistema operacional detectou e a quantidade disponível é praticamente o que você esperaria. O tamanho do cache do sistema é, na verdade, o tamanho do sistema 'working set' (ou seja, a quantidade de memória física usada pelo processo System, pid 4, que é um processo conectado ao kernel e que executa threads em nome do kernel e drivers de dispositivo). O cache de arquivos do sistema mantém temporariamente o conteúdo dos arquivos, para acelerar o desempenho do sistema e, provavelmente, é o maior consumidor de memória no processo do Sistema, portanto, é uma aproximação razoável.

Memória do kernel: informa quanta memória está sendo usada pelo kernel e drivers de dispositivo. Eu acredito (mas eu posso estar errado aqui) os números aqui são contagens de memória virtual. Para memória não paginada, não há diferença: a memória virtual está sempre residente na memória física. Para memória paginada, o tamanho é virtual; a ocupação da memória física pode ser menor.

Agora, os gráficos e metros. Apesar de seus títulos, o Uso de PF e Histórico de Uso do Arquivo de Páginas os displays não medem o uso do arquivo de paginação. Eles medem o custo total de commit. A contagem total de confirmações está relacionada ao uso do arquivo de paginação; é o tamanho do arquivo de página que você usaria se tudo que pudesse ser gravado no arquivo de páginas fosse, de fato, gravado no arquivo de paginação. No Windows 2000, os mesmos monitores são chamados Mem Usage, levando as pessoas a pensar que mediram o uso da memória física. Isso não estava certo também.

O que você espera de um programa chamando-se o "Gerenciador de Tarefas" de qualquer maneira? Não há nada chamado de "tarefa" no kernel do sistema operacional - o sistema operacional tem "processos" e "segmentos". DOS tinha "tarefas". O hardware da Intel tem estruturas de "tarefas", mas o sistema operacional não as utiliza porque é mais rápido fazer isso sozinho. (Recentemente, um programa em modo de usuário chamado "task scheduler" apareceu, mas o kernel também não sabe nada sobre essas tarefas e, além disso, é um uso completamente diferente de "tarefa").

o Utilização do CPU e Histórico de Uso da CPU os displays realmente medem o uso da CPU! Ou seja, eles contam todo o uso da CPU, exceto o que é usado no loop ocioso do sistema no nível de não interrupção. É, portanto, uma boa imagem do quão ocupado seu sistema realmente é.

Nos sistemas multiprocessadores, acho que o total é dado em termos do poder de uma CPU (eles são sempre CPUs idênticas). Assim, um sistema de duas CPUs tem "200%" disponível para ele. Você pode, se quiser, mostrar um gráfico por CPU. Se alguém quiser me enviar um sistema com duas CPUs, verificarei essas afirmações.

A linha verde usual fornece o uso total da CPU. Opcionalmente, você pode adicionar uma linha vermelha mostrando o tempo gasto no modo kernel; Isso às vezes é útil para o isolamento de problemas, ou talvez pareça melhor. Use Mostrar tempos do kernel no menu Exibir.

O fundo linha de status repete o uso da CPU, carga de confirmação e totais do processo.

Fonte


6





Você terá boas notas e descrição em Mark Russinovichpost do blog
Empurrando os limites do Windows: Alças  e os outros quatro posts mais antigos ligado a partir daí.

  1. Memória física
  2. Memória virtual
  3. Pool paginado e não paginado
  4. Processos e Threads

Marcos escreveu o excelente SysInternals utilitários e agora está trabalhando com a Microsoft.


3





Uma resposta curta: depois de um dia inteiro (ou de uma semana) de trabalho com cargas de trabalho reais (ou até maiores que a média), observe a carga máxima de confirmação. Essa é a "mais memória" usada em um determinado momento ". Arredondar para o próximo meio-GB e isso é quanto RAM você deveria ter. Se for mais de 3 GB, considere atualizar para um sistema operacional de 64 bits.

Então, se você quiser, ter 1GB ou mais de swap para "degradação graciosa" (por que tudo está correndo tão lento e a luz do disco rígido piscando tanto?). Todas as recomendações para 1.5X ou 2X RAM são (principalmente) absurdas.

A captura de tela é suspeita porque dentro da caixa está escrito "Total 25"; enquanto na barra de status no canto inferior direito, ele diz "596564K", que corresponde ao "582MB" no gráfico.


2



a captura de tela é genuína. é rodando a máquina Virtual do Win 7 usando a imagem vhd, se você procurar no google vhd vai encontrar o site da Microsoft para baixá-los. Eu estou usando o um para o IE 8 e XP SP3. - 太極者無極而生