Pergunta

Quais são os vários mecanismos usando que podemos detectar se uma execução de processo está levando à fragmentação da memória?

Existem ferramentas disponíveis para o mesmo? A sugestão de ferramentas que funcionam com o código 'C' e podem ser executadas no Windows, Linux e VxWorks serão úteis.

Foi útil?

Solução

Assim como uma sugestão, você pode querer experimentar Valgrind. Não tenho certeza de que é o que você está procurando, mas pode ser útil.

http://valgrind.org/

Outras dicas

Há um maxfreeblocksize no vxworks, se continuar ficando cada vez mais baixo, é uma indicação que está ficando fragmentado

No Linux, você pode ver a saída de:

cat /proc/buddyinfo

Ele diz quantas páginas de uma determinada ordem estão disponíveis. Se houver muito poucas páginas de ordem superior disponíveis e principalmente páginas de ordem inferior estão disponíveis e indica que a memória do sistema é bastante fragmentada. Procure a entrada "normal".

Ver proc.txt

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top