Eu tenho uma máquina com Windows 7 que fica com pouca memória RAM. Consigo ver a RAM livre diminuindo por algumas horas até o ponto em que a máquina deixa de responder. Eu verifiquei a lista de processos e nenhum deles ocupa tanta memória RAM.
Também verifiquei o número de identificadores por processo e vários outros indicadores, mas ainda não consigo descobrir por que a máquina fica sem memória RAM.
Existe alguma maneira de verificar como a memória é usada no Windows?
Editar
Aqui está o resultado de tasklist
alguns minutos antes que a máquina deixe de responder:
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 300 K
smss.exe 196 Services 0 1,024 K
csrss.exe 272 Services 0 4,336 K
wininit.exe 320 Services 0 4,184 K
csrss.exe 332 Console 1 3,516 K
winlogon.exe 372 Console 1 6,316 K
services.exe 416 Services 0 8,112 K
lsass.exe 432 Services 0 10,088 K
lsm.exe 440 Services 0 3,664 K
svchost.exe 548 Services 0 8,152 K
svchost.exe 620 Services 0 6,564 K
svchost.exe 660 Services 0 15,764 K
LogonUI.exe 724 Console 1 18,428 K
svchost.exe 768 Services 0 7,992 K
svchost.exe 828 Services 0 9,724 K
svchost.exe 852 Services 0 28,092 K
svchost.exe 176 Services 0 13,096 K
spoolsv.exe 824 Services 0 10,608 K
svchost.exe 952 Services 0 11,632 K
svchost.exe 1076 Services 0 8,524 K
fshoster32.exe 1120 Services 0 9,148 K
fsorsp.exe 1200 Services 0 8,036 K
fsgk32.exe 1324 Services 0 3,084 K
cygrunsrv.exe 1552 Services 0 5,852 K
conhost.exe 1864 Services 0 2,996 K
sshd.exe 1896 Services 0 7,804 K
FSMA32.EXE 2024 Services 0 1,628 K
svchost.exe 1320 Services 0 5,092 K
fssm32.exe 1704 Services 0 2,196 K
FSHDLL64.EXE 2120 Services 0 644 K
SearchIndexer.exe 3260 Services 0 13,596 K
sshd.exe 138920 Services 0 8,696 K
sshd.exe 138448 Services 0 8,696 K
sshd.exe 138660 Services 0 8,696 K
bash.exe 137924 Services 0 5,380 K
bash.exe 137820 Services 0 3,832 K
SAV32CLI.EXE 136344 Services 0 133,868 K
WmiPrvSE.exe 139444 Services 0 7,168 K
sshd.exe 139672 Services 0 8,692 K
sshd.exe 139876 Services 0 8,684 K
bash.exe 139992 Services 0 5,432 K
bash.exe 140040 Services 0 3,996 K
bash.exe 140200 Services 0 5,400 K
bash.exe 139424 Services 0 4,048 K
typeperf.exe 139300 Services 0 5,372 K
sleep.exe 138268 Services 0 2,272 K
sshd.exe 139612 Services 0 7,168 K
sshd.exe 137720 Services 0 5,700 K
bash.exe 139524 Services 0 5,304 K
bash.exe 138952 Services 0 3,756 K
tasklist.exe 137580 Services 0 5,164 K
bash.exe 139460 Services 0 5,452 K
bash.exe 139796 Services 0 104 K
Nesse ponto, wmic OS get FreePhysicalMemory /Value
relata cerca de 400 MB de memória livre de 2 GB.
RamMap:
Gerenciador de tarefas:
windows-7
memory
memory-leaks
Laurent
fonte
fonte
Respostas:
O consumo de memória alta provém de um alto uso da tabela de páginas . Para ver quais processos o utilizam, instale o Windows Performance Toolkit , abra um prompt de comando como administrador e execute este comando:
Abra o
MemUsage.etl
Windows Performance Analyzer (WPA.exe), arraste e solte o gráfico "ResidentSet" da lista de gráficos à esquerda no painel de análise:Agora mova a coluna "Categoria da página" para o lado esquerdo e expanda a entrada "Tabela da página":
Aqui você vê os processos com alto uso de paginação. No site certo (após a linha azul), você vê o uso de memória da tabela de páginas em MB para cada processo.
fonte
xperf: error: NT Kernel Logger: Invalid flags. (0x3ec).
as únicas coisas "estranhas" que posso ver aqui são estas:
scan.exe
que monopoliza 98% da CPU agorafssm32.exe
que possui 9 milhões de falhas de página.fssm32.exe
parece um programa do antivírus f-secure.SAV32CLI.EXE
que consome mais 130mb de memória. parece que você se sente melhor protegido para executar dois antivírus: f-secure e sophos ao mesmo tempo.a captura de tela rammap parece boa para mim: você tem um conjunto de ~ 400mb de arquivos em cache, 85mb deles em uso ativo, 300mb + no modo de espera (o que significa que eles são liberados assim que você precisar de mais memória ram). olhando para a quantidade de processos sshd.exe e bash.exe, também parece legítimo.
a melhor maneira de aprender o funcionamento interno de como o Windows gerencia a memória é esta conversa aqui: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405 .. você já está usando algumas das ferramentas que o palestrante desenvolveu .
fonte