2016-12-28 10 views
1

go revel 프레임 워크 (내 go 버전은 1.6.2)로 웹 프로그램을 개발하고 있습니다. 그리고 메모리 사용에 문제가 있습니다. revel이 차지하는 메모리는 매일 수백 MB가 증가하고 있습니다. 그래서 프로그램을 조정하고 싶습니다. 그런 다음 go pprof를 사용하고 github.com/revel/modules/tree/master/pprof에서 설명한 바와 같이 revel pprof를 사용하는 방법을 배웁니다. 하지만 다음 명령으로 메모리 프로파일을 얻으려는 동안Go pprof : 오류 인식 할 수없는 프로필 형식이 있습니다.

go tool pprof http://sit:9000/debug/pprof/heap.

오류가 인식되지 않는 프로필 형식입니다. 다음 스냅 샷을 볼 수 있습니다.

enter image description here 저는 몇 시간 동안이 문제에 대해 고심했습니다. 어떤 도움을 주셔서 감사합니다! 미리 감사드립니다.

답변

0

디버그 프로필이 비어있을 가능성이 큽니다. 당신은 그냥 runtime.SetBlockProfileRate 기능을 당신의 main 파일에 runtime 패키지를 가져오고 전화 SetBlockProfileRate

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

를 사용하여 응용 프로그램을 프로파일 링하는 빈도를 지정해야합니다.

또는 일부 기본값으로, 당신을 위해 그것을 처리하는이 패키지를 사용할 수 있습니다 : 답장을 보내 https://github.com/pkg/profile

+0

감사합니다. 그러나 revel 프레임 워크를 사용할 때 주 함수가 자동 생성됩니다. 따라서 주 파일에 코드를 추가 할 수 없습니다. 그리고 나는 일반 정보를보기 위해 http : // sit : 9000/debug/pprof/heap? debug = 1을 사용할 수있다. 더 자세한 정보를보기 위해 명령을 사용할 수 없습니다. – Victor