不重启是最重要的; 其次,java会把jstack/jmap/jstat之类都来一遍,其它类型的linux程序主要会留gcore和各种指标类的数据,top/perf/strace。
Q9:请教老师,做监控的话一些metric的阈值,你们是怎么设置的啊,是靠人工观察经验得出,还是使用了一些自动化比如机器学习的方案
A9:一般根据请求量和监控系统的处理能力决定,一般来说只要请求量够大,采样率设多少没什么太大区别。
Q10:java在请求无法响应的时候,这时候jdump需要很长的时间,线上无法服务,有没有更好,更快速的方法保留现场?
A10:我们在dump的时候这台节点已经从线上摘掉了,所以慢不是问题。 如果不能摘,可以考虑用btrace,housemd这类工具直接挂到进程上分析,不过btrace有可能导致应用假死,几率几十分之一,慎用。
Q11:业务出问题后是多个部门一起查找问题么?有些问题既要懂业务又要懂技术细节,在微博有多少人能达到您的排查问题水平,每次出问题都需要您出马么?有没有自动诊断问题工具?
A11:问题自动诊断我也很想要,最近也想继续改进工具。不过更多的可能还是有工具自动把一些现象把帮我汇总出来,分析感觉还是做不到自动化。