第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

go語言服務端內(nèi)存持續(xù)增長,求解惑!

go語言服務端內(nèi)存持續(xù)增長,求解惑!

瀟瀟雨雨 2019-04-19 16:11:09
最近用golang開發(fā)了一個socket服務端,主要邏輯就是接收客戶端發(fā)來的數(shù)據(jù)解析后存入opentsdb中,但是跑一段時間后發(fā)現(xiàn)內(nèi)存就會增長,而且不會被gc回收,初步判定是由于大量make[]byte導致內(nèi)存不釋放,代碼如下,求高人解惑?funcStartTCP()error{tcp_addr,_:=net.ResolveTCPAddr("tcp4",tcp_listen)listener,err:=net.ListenTCP("tcp4",tcp_addr)iferr!=nil{returnerr}deferlistener.Close()log.Info("starttcplistenon%s",tcp_listen)for{conn,err:=listener.AcceptTCP()iferr!=nil{log.Error("accepterror%s",err.Error())continue}log.Info("newsessioncreate%s",conn.RemoteAddr().String())goHandlerConn(conn)}}funcReadPacket(conn*net.TCPConn)[]byte{head:=make([]byte,4)_,err:=io.ReadFull(conn,head)iferr!=nil{returnnil}size:=binary.BigEndian.Uint32(head)data:=make([]byte,size)_,err=io.ReadFull(conn,data)iferr!=nil{returnnil}returndata}funcHandlerConn(conn*net.TCPConn){addr:=conn.RemoteAddr().String()deferfunc(){iferr:=conn.Close();err!=nil{log.Error("closesessionerror%s",err.Error())}else{log.Info("sessionclosed%s",addr)}}()for{data:=ReadPacket(conn)iflen(data)==0{log.Warn("emptydata")return}goHandlerMsg(conn,data,t)}}附pprof信息(pprof)top9.92GBof9.93GBtotal(100%)Dropped359nodes(cum
查看完整描述

2 回答

?
守著星空守著你

TA貢獻1799條經(jīng)驗 獲得超8個贊

后來opentsdb出過一次故障修復后就恢復正常了,內(nèi)存使用維持在200M上下,pprofheap也穩(wěn)定在2k左右,而且該現(xiàn)象也無法復現(xiàn),只能判定是opentsdb的問題而導致內(nèi)存不釋放了。
                            
查看完整回答
反對 回復 2019-04-19
  • 2 回答
  • 0 關注
  • 790 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號