随笔分类 - go
go
摘要:参考资料 https://cloud.tencent.com/developer/article/1810536 并发赋值安全/不安全的类型 并发赋值安全的类型: 字节型,布尔型、整型、浮点型、字符型、指针、函数 这些类型可由一条机器指令完成赋值 数组由一个或多个元素组成,大部分情况并发不安全 注意
阅读全文
摘要:现象 服务运行时发现,随着服务运行时间增加,cpu占用持续增长。查看火焰图: pprof查看系统调用: 怀疑是使用timer导致的。 分析 代码逻辑内请求级使用了time ticker,但是没有close。代码如下: func Process(key string) Item { ticker :=
阅读全文
摘要:1. freecache: https://github.com/coocood/freecache 内存中的长寿命对象会引入昂贵的 GC 开销,使用 FreeCache,您可以在内存中缓存无限数量的对象,而不会增加延迟和降低吞吐量。 Features 存储数以亿计的条目 零 GC 开销 高并发线程
阅读全文
摘要:参考资料: Go内存泄漏?不是那么简单! https://colobu.com/2019/08/28/go-memory-leak-i-dont-think-so/ Go调优技术 https://studygolang.com/articles/12008 runtime.MemStats http
阅读全文
摘要:参考资料 Go1.13 defer 的性能是如何提高的 https://studygolang.com/articles/23352 golang defer性能损耗和实际使用场景 https://blog.csdn.net/u010853261/article/details/102773637
阅读全文
摘要:版权声明:本文为CSDN博主「玄苦大师233」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/chenguolinblog/article/details/90665080 参考资料:https://drave
阅读全文
摘要:[toc] coredump是一个包含程序意外终止时的内存快照的文件。它可以用于事后调试,以了解崩溃发生的原因以及其中涉及的变量。通过GOTRACEBACK,Go提供了一个环境变量来控制程序崩溃时产生的输出。这个变量可以强制生成coredump,便于调试。 **让golang程序生成core文件**
阅读全文
摘要:在发生goroutine泄漏/内存泄漏时,经常需要查看代码中哪一部分goroutine数量过多,可采用以下方法 引入pprof包 import _ "net/http/pprof" 开启http监听服务 func main() { go func() { log.Println(http.Liste
阅读全文
摘要:go test命令(Go语言测试命令)完全攻略 http://c.biancheng.net/view/124.html go benchmark 性能测试 https://www.cnblogs.com/bergus/articles/go-benchmark-xing-neng-ce-shi.h
阅读全文
摘要:参考资料: go局部变量的存储空间是堆还是栈: https://studygolang.com/articles/11878 Go的变量到底在堆还是栈中分配: https://studygolang.com/articles/7559 go变量逃逸分析: https://www.cnblogs.co
阅读全文
摘要:https://golang.org/pkg/context/#pkg-overview https://blog.csdn.net/yzf279533105/article/details/107290645 https://blog.csdn.net/u013210620/article/det
阅读全文
摘要:参考: [1] https://studygolang.com/articles/13254 [2] https://blog.luojilab.com/2019/12/16/zeroteam/You_have_to_know_the_rate_limit_of_the_series/ [3] ht
阅读全文
摘要:参考: https://blog.csdn.net/wdy_yx/article/details/73849713https://www.jianshu.com/p/1ecb513f7632 https://studygolang.com/articles/13254 "golang.org/x/t
阅读全文
摘要:在函数调用时,需要注意是值传递/引用传递 注意:golang内没有引用传递 1. 对于slice eg: func sliceModify(slice []int) { // slice[0] = 88 slice = append(slice, 6) } func main() { slice :
阅读全文
摘要:pprof如何进行采样:https://studygolang.com/articles/11873 [译] 我是如何在大型代码库上使用 pprof 调查 Go 中的内存泄漏 https://juejin.cn/post/6844903848083980301 go tool pprof http:
阅读全文