2016-12-28 5 views
1

Je suis en train de développer un programme web avec Go revel framework (ma version go est 1.6.2). Et j'ai eu des problèmes avec l'utilisation de la mémoire. La mémoire occupée par Revel augmente de près de centaines de Mo chaque jour. Donc, je veux régler le programme. Puis j'apprends à utiliser le go pprof et utilise le revel pprof comme indiqué dans github.com/revel/modules/tree/master/pprof. Mais pendant que j'essaye d'obtenir le profil de mémoire avec la commande suivanteGo pprof: Got Error format de profil non reconnu

allez outil pprof http://sit:9000/debug/pprof/heap.

Il a obtenu le format de profil d'erreur non reconnu. Vous pouvez voir comme instantané suivant. J'ai lutté sur cette question pendant des heures. Toute aide est appréciée! Merci d'avance!

Répondre

0

C'est probablement parce que votre profil de débogage est vide. Vous devez spécifier la fréquence à laquelle le profil de l'application à l'aide SetBlockProfileRate

https://golang.org/pkg/runtime/#SetBlockProfileRate

Juste importer le package runtime dans votre fichier main et appeler la fonction runtime.SetBlockProfileRate.

Vous pouvez utiliser ce paquet, qu'il gère pour vous, avec quelques défauts: https://github.com/pkg/profile

+0

Merci pour votre réponse. Mais comme j'utilise le framework revel, la fonction principale sera générée automatiquement. Je ne peux donc pas ajouter de codes dans le fichier principal. Et je peux utiliser l'utilisateur http: // assis: 9000/debug/pprof/heap? Debug = 1 pour voir les informations générales. Je ne peux simplement pas utiliser la commande pour voir des informations plus profondes. – Victor