15
Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Embed Size (px)

Citation preview

Page 1: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Paginação com DTrace

Reconhecimento do momento, tipo e quantidade de páginas liberadas

Page 2: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Objetivo Monitorar com Dtrace o momento, o tipo e a quantidade de

páginas que são liberadas na memória. Comparar as quantidades de páginas anônimas, executáveis e

do sistema de arquivos que são liberadas.

Page 3: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Tipos de páginas Executáveis

associadas aos programas e bibliotecas

Anônimas não associadas a um arquivo

Exemplo: heap e pilha de um processo

Sistema de arquivos associadas aos arquivos

Page 4: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Dtrace Providers

Page 5: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Metodologia Provider:

vminfo

Probes: anonfree – liberação de páginas anônimas execfree – liberação de páginas executáveis fsfree – liberação de páginas do sistema de arquivos dfree – liberação de uma página

Page 6: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Script D#pragma D option quietdtrace:::BEGIN{

printf("\nMonitorando páginas liberadas... Ctrl-C pára a execução.\n");printf("apf: quantidade de páginas anônimas liberadas;\n");printf("epf: quantidade de páginas executáveis liberadas;\n");printf("fpf: quantidade de páginas do sistema de arquivos liberadas.\n");printf("%4s %4s %4s\n","apf", "epf", "fpf");

}dtrace:::BEGIN {apf = 0;epf = 0;fpf = 0;}vminfo:::dfree {printf("%4d %4d %4d\n",apf, epf, fpf);}vminfo:::anonfree {apf += arg0;}vminfo:::execfree {epf += arg0;}vminfo:::fsfree {fpf += arg0;}

dtrace:::END{

printf(“\nFim de monitoramento.\n");printf("%4s %4s %4s\n","apf", "epf", "fpf");printf("%4d %4d %4d\n",apf, epf, fpf);printf("Total de páginas = %d\n",apf+epf+fpf);

}

Page 7: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Execução

Page 8: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Execução

Page 9: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Teste 1: Total de páginas liberadas Teste: abrir navegador Firefox 3.5 enquanto o script D executa; Realizar o teste em dois sistemas com quantidades de

memória RAM diferentes.

Sistema 1: 428MB de RAM Total de páginas liberadas = 39521

Sistema 2: 856MB de RAM Total de páginas liberadas = 0

Page 10: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Teste 1: Análise do Resultado Sistema com pouca memória principal:

Muitas falhas de página para executar aplicações que exigem muita memória.

Falhas de página: Quanto mais falhas, maior o tempo médio de acesso a memória; Quanto maior o tempo médio de acesso a memória, maior o tempo

de execução de uma aplicação.

Page 11: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Teste 2: Tipos de páginas liberadas Teste: estressar o sistema, abrindo vários programas,

enquanto o script D executa; Realizar o teste em dois sistemas com quantidades de

memória RAM diferentes.

Page 12: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Teste 2: Tipos de páginas liberadas Sistema 1: 428MB de RAM

Sistema 2: 856MB de RAM

Tipo de página liberada Porcentagem relativa (%)Anônima 65Executável 8Sistema de Arquivos 27

Tipo de página liberada Porcentagem relativa (%)Anônima 32Executável 3Sistema de Arquivos 65

Page 13: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Teste 2: Análise do Resultado Quantidade de páginas executáveis liberadas baixa:

Páginas executáveis são muito usadas, então o sistema operacional não as libera com frequência;

Memória executável é menor que memória de dados e arquivos. Quantidade de páginas de sistema de arquivos liberadas:

Em um sistema com muita memória, páginas de sistema de arquivos são rapidamente consumidas por aplicações e liberadas.

Page 14: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

DTrace Toolkit Coleção de scripts D bem documentados; Desenvolvido pela comunidade OpenSolaris DTrace; Categorias principais de scripts:

CPU; Disco (E/S); Sistema de Arquivos; Memória; Rede; Processos.

Page 15: Paginação com DTrace Reconhecimento do momento, tipo e quantidade de páginas liberadas

Obrigado! Filipe Morgado Simões de Campos Rafael Barbolo Lopes Rafael Ivan Garcia