Detectar o problema de fragmentação da memória em um processo
-
22-09-2019 - |
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.
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.
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