V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  felix021  ›  全部回复第 9 页 / 共 43 页
回复总数  842
1 ... 5  6  7  8  9  10  11  12  13  14 ... 43  
2020-04-27 21:45:47 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@bazingaterry 看具体的项目,有的还在用 govendor,有些升级到 go mod 了。
2020-04-27 21:45:19 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@liuxu 这个事情比你估计的还复杂一点,读取 smaps,其实是让内核遍历进程的页表,这个操作需要对页表加锁,如果期间出现了 page fault 之类需要修改页表的操作会增加业务延迟。

在监控做这个事情的话,影响会比较大,除非系统在每次 madvise 都更新统计信息 ,每次直接读取这个统计信息,才能降低对业务的影响。
2020-04-27 20:58:59 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@liuxu 理论上是这样的,但是因为监控链路没有更新,无法区分 [是真的内存要挂了] 还是 [暂时没被回收] ,如果升级了,结果就是,要么不停报警到常态忽略直到某天突然 gg,要么不报警直到某天突然 gg 。
2020-04-27 19:38:14 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@HangoX 对照了呀,线上都灰度了,应该是正好挑到了 3.16 内核的机器,没踩坑
2020-04-27 16:54:54 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@fyibmsd 多谢建议,其实我就是讲个故事,加点图故事性更好。
2020-04-27 16:53:59 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@qieqie 嗯 严谨一点的话应该把这个对照也放出来。不过差别确实很多,否则也不会因为 RSS 报警了。

`man ps` 对 rss 的定义比较粗:

RSS resident set size, the non-swapped physical memory that a task has used (in kiloBytes)

按这个定义,是包含页表中所有已分配、未写到 swap 的内存。

对比下 `man top` ,有更多精细的指标,把内存分成了 4 个象限。
2020-04-27 16:49:08 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@Gea 面试不会问到这么坑的,关于字节跳动的面试细节,你可以参考我文末我贴的那篇链接
2020-04-27 16:47:03 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@monsterxx03 提个小建议,如果检测到输出不是 tty (例如重定向到文件)的情况,就不要用 \x1b 做高亮,不然 vim 打开就变这样了:

goroutines:

^[[33m1^[[0m ^[[33mwaiting^[[0m ^[[33m^[[0m ^[[33mmain (/usr/local/go/src/runtime/proc.go:109)^[[0m
^[[33m2^[[0m ^[[33mwaiting^[[0m ^[[33m^[[0m ^[[33mforcegchelper (/usr/local/go/src/runtime/proc.go:240)^[[0m
2020-04-27 15:49:56 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@superbai 部门相当多,广告,ailab,飞书,基础架构等,我没有完整 list; 这些岗位都有的,文末附的链接(所有职位)你可以点开看一下,我们组这边需要 go 和 python
2020-04-27 15:35:06 +08:00
回复了 sl0000 创建的主题 C++ C++ 之 new 函数疑问,你们也有这种情况吗?
注:不做某件事情,当然是为了更快
2020-04-27 15:34:16 +08:00
回复了 sl0000 创建的主题 C++ C++ 之 new 函数疑问,你们也有这种情况吗?
估计 C++规范对 placement new 没有做内存清零的要求,具体做不做就看编译器的实现了。

ref: https://stackoverflow.com/questions/10490191/does-placement-new-zero-out-the-memory
2020-04-27 15:00:13 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@rrfeng 嗯,老架构,业务快速跑,很多问题就暴露出来了,我们正在重构
2020-04-27 14:59:35 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@hallDrawnel @ms2008 旧的 Ganglia 、新的 openfalcon+grafana,我们都在用,看场景和习惯
2020-04-27 12:52:06 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@freefcw 嗯,而且因为 runtime 更新很快,很多知识过期也很快,年纪大了就容易跟不上……
2020-04-27 12:27:44 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@buffzty 你可以换个视角,大多数人来 v2 不是来学习,是来消遣的。
2020-04-27 12:26:18 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@buffzty 这是通过少量多次的正反馈提高读者阅读兴趣的一种方法,全都是文字干巴巴的对于大多数人更容易 TLDR 。

这个问题一两百字能不能说得完,取决于读者的情况,release notes 里倒是很简洁,一次就能看懂的有多少呢。
2020-04-27 11:10:00 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@jonnn 嗯,这个坑有点偏门,我们厂内去年 7 月份就已经有团队踩过了。。。
2020-04-27 11:08:01 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@saberlong 现场没有了可能是比较难查 ,如果还有现场的话,上面说的 GODEBUG=madvdontneed=1 可以试试。

另外对于很难定位的问题,我还会用尝试删掉无关的逻辑,找到可能会导致问题的最小集。
2020-04-26 23:15:30 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@mahone3297 对,但是这需要内核提供更精细的数据,以及整个监控链路的相关改造,周期会比较长了。
2020-04-26 22:43:13 +08:00
回复了 felix021 创建的主题 Go 编程语言 踩坑记: go 服务内存暴涨
@hcivincentchan 最后的广告还不足以说明吗🤔
1 ... 5  6  7  8  9  10  11  12  13  14 ... 43  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5427 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 03:44 · PVG 11:44 · LAX 19:44 · JFK 22:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.