一个合作公司,项目是使用nginx和两台tomcat负载,其中一台服务器cpu飙升,然后导致部分用户访问页面很卡,超时,甚至500。

    解决经历:

    将nginx配置文件更改,取下来那台cpu很高的服务器。用户这时可以正常使用,现在专心排查问题。

    使用ps -ef | grep java 命令得到java进程号,

cpu飙升,排查经历。然后使用top -H -p java进程号 命令得到当前进程使用cpu较高的线程。(因为现在已经解决了问题,所以截图的cpu使用率不高)

cpu飙升,排查经历。

记下使用cpu使用比较高的线程id(PID),

执行 jstack java进程号 >> 文件名.txt ,将进程线程使用情况输出到文件内

cpu飙升,排查经历。

3. 把记下的线程id转成16进制,去线程堆栈里面找,可以看到当前线程在干嘛。

然后在继续排查,具体原因是因为什么。当时我遇见的情况是gc一直再执行,而且内存也超了。一步步排查,确定是转化文档出问题,一个excel文档内有上百万空表格。对他进行了一个限制。然后就没再出过问题。


相关文章:

  • 2021-11-12
  • 2020-06-01
  • 2018-07-24
  • 2022-01-01
  • 2021-11-12
  • 2021-11-02
  • 2021-11-14
  • 2020-12-28
猜你喜欢
  • 2021-11-02
  • 2021-11-02
  • 2018-09-29
  • 2021-09-16
  • 2021-08-16
  • 2021-07-07
  • 2021-11-12
  • 2021-11-12
相关资源
相似解决方案