FAQ Go服务内存与GC排查
Skeyevss FAQGo 服务内存与 GC 排查试用安装包下载 | SMS | 在线演示项目地址https://github.com/openskeye/go-vss1. 区分 RSS、Heap、IdleRSS进程占用物理内存含 Go heap、栈、映射等Heap Inuse活跃堆Heap Idle可能仍占虚拟内存由GOGC与操作系统决定是否归还现象top看 RSS 高但pprof heap不大可能是CGO/第三方库或OS 缓存未剥离。2. 常用手段net/http/pprof在测试/受控生产开启抓取heap、goroutine、allocsGODEBUGgctrace1观察 GC 频率与 STW基准压测对比版本避免「线上慢」无对照。可与《日志级别 pprof 与磁盘占用》FAQ 一起规划诊断开关避免长期全开写爆磁盘。3. 典型泄漏模式业务层Goroutine 泄漏等待永不关闭的 channel、HTTP 客户端无超时Map 切片只增不减设备下线未清理缓存大 buffer 池误用池化对象持有大底层数组全局 ring buffer录像或 SIP 抓包缓冲无限增长。4. GC 调优边界调大GOGC可降低 GC 频率但增大峰值 RSSGOMAXPROCS与容器 CPU quota 不一致时调度与 GC 可能 suboptimal优先修泄漏与降分配再考虑微调 GOGC。5. 容器 OOMmemory limit过小会OOMKill现象是 Pod 重启、无 Go panic。需在监控中区分OOM与业务 panic参见性能专题中的 Panic 隔离文档。内存问题pprof goroutine 数量趋势双管齐下RSS 缓慢爬升一周多半是缓存或泄漏不是Go 垃圾回收不灵。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2599554.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!