golang 如何排查和定位GC问题

最近在做文本处理的时候遇到一个很奇怪的现象。串行执行脚本可能只需要几秒钟,但是如果想给每行开个协程并发处理的话,执行时间却从几十秒到几十分钟不等,关键是执行的过程中cpu的占用并不高。经过一系列的分析之后确认是gc导致的。所以想讲一下排查gc问题的一些小技巧,之后也会给出一些case: 一。如何查看程序运行过程中的GC信息呢? 设置gctrace的变量值为1即可,这个既可以设置成环境变量,也可以选择按如下方式执行: GODEBUG=gctrace=1 go run main.go //GODEB...阅读全文

2018-01-19 18:33:48 ssdut_buster
阅读:4020 评论:0