2012-08-15 4 views
3

Je souhaite démontrer que le profil de tas de mon application reste à peu près le même au fil du temps. Même s'il n'y a pas de fuites d'espace qui s'accumulent avec le temps. Le profil de tas graphique que j'obtiens avec hp2ps est bien et lisible si je laisse l'application s'exécuter pendant quelques secondes, mais cela devient un désordre complet si je laisse l'application tourner pendant une demi-heure ou plus. Que dois-je faire pour améliorer la lisibilité? Puis-je réduire la densité de l'échantillon ou autre?Lisibilité des graphes de profil de segment de mémoire

heap profile

+0

Avez-vous essayé 'hp2pretty'? –

+0

@NathanHowell Est le même effet. –

+0

Ok ... eh bien, vous pouvez éditer le fichier .hp (c'est juste un fichier texte) et supprimer les anciennes données, les échantillonner ou les agréger. Je ne sais pas s'il existe des outils qui pourraient aider. –

Répondre

2

Vous pouvez changer l'intervalle d'échantillonnage avec l'option '-in' en RTS, par ex. '-i10' pour échantillonner toutes les 10s au lieu des 0.1s par défaut. Voir le GHC manual pour plus d'informations. Vous pouvez également changer l'orientation et la taille de la sortie hp2ps ou changer le nombre de bandes affichées (voir 'hp2ps -?'), Bien qu'il soit difficile de dire si cela vous aidera dans ce cas.

1

Je vous conseille d'utiliser ekg et goûtez l'utilisation du tas via JSON avec une fréquence que vous souhaitez. Vous pouvez ensuite tracer vos données avec gnuplot ou R.

Un avantage supplémentaire de cette approche est que vous n'avez pas besoin d'une génération de profilage, de sorte que vos données seront plus précises.

1

Je pense qu'il n'y a rien de mal avec la figure - oui, c'est "désordonné", peu importe ce que cela signifie, mais cela montre aussi qu'il n'y a pas de courbe d'emballement.

Questions connexes