Tomcat宕机怎么办?老司机教你快速排查解决!

吉云

今儿个,咱来聊聊这个让人头大的事儿——tomcat宕机。那天我正摸鱼,突然,线上就炸锅,一堆人都在喊系统用不,我这心里咯噔一下,预感不妙!

我赶紧连上服务器一看,好家伙,tomcat的进程直接没!这还得,这系统一挂,损失可大!我二话不说,立马重启tomcat,好歹先把服务拉起来。重启之后,服务是能用,但这心里总是不踏实,这要是再来一次,我这小心脏可受不。

接下来就得开始排查问题。这tomcat宕机,到底是个什么鬼?

Tomcat宕机怎么办?老司机教你快速排查解决!

我寻思着,能让tomcat宕机的原因就那么几个。我先从最可能的内存开始查起。我用命令查看服务器的内存使用情况,这不看不知道,一看吓一跳,内存都快用光!看来这八成就是罪魁祸首。

然后我开始分析日志,看看能不能找到点蛛丝马迹,结果翻半天,也没看出个所以然来。这可咋整?

既然日志看不出来,我就想着看看能不能从tomcat内存下手,于是就去开启GC日志,希望可以发现点什么。开启之后,我又开始密切关注内存的变化,希望能抓到点什么把柄。

为模拟线上的情况,我还搞个接口,模拟下用户调用的场景,用这段代码:

  • @RestController
  • Tomcat宕机怎么办?老司机教你快速排查解决!

  • @RequestMapping("/biz")
  • public class BizController {
  •     @GetMapping("/fire")
  •     public String fire(){

这么一来,我就可以更好地观察tomcat在运行过程中的表现。

Tomcat宕机怎么办?老司机教你快速排查解决!

刚开始的时候,因为不知道问题出在哪,每次出问题,我就手动重启tomcat,这么搞几次,我也烦,这也不是个事!

后面我就想个办法,写个脚本,让它自动检测tomcat的状态,一旦发现tomcat挂,就自动重启,然后还给我发个通知。这下子,我可算是轻松多,不用时刻盯着,真香!

这一通操作下来,虽然问题暂时解决,但我知道,这事儿还没完,得继续深入研究,彻底搞定它!不然,指不定哪天又得出幺蛾子。我可是吃一堑长一智,不能再让这种事情发生!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]