Мой код был простым сервером fastthttp, как и его примеры на github, но с неизвестной утечкой памяти.Затем я попытался найти его и очистил свои коды, и у него снова возникла эта проблема.
Затем я запустил только официальный пример, и даже у него была утечка памяти (это означает, что я наблюдаю за использованием памяти в диспетчере процессов Windows и егоиспользуемая память растет в нагрузках и go не освобождается даже через некоторое время, пока мои окна не рухнули).
Затем я использовал std net / http на очень простом сервере hello world, и у меня снова возникла эта проблема.Мое использование памяти растет с каждым запросом, и Go не освобождает его.
Моя версия go 1.11.2 windows / amd64
, и это мой код, который имеет эту проблему:
package main
import (
"net/http"
"strings"
)
func sayHello(w http.ResponseWriter, r *http.Request) {
message := r.URL.Path
message = strings.TrimPrefix(message, "/")
message = "Hello " + message
w.Write([]byte(message))
r.Body.Close()
}
func main() {
http.HandleFunc("/", sayHello)
if err := http.ListenAndServe(":8080", nil); err != nil {
panic(err)
}
}