如何处理服务器load高问题

(#)前瞻:前一段经常发现系统load高,机器一直报警,其实针对与load高,初步的想法(1).死循环,导致一直占用cpu (2).JVM虚拟机在不停的fgc,但是并不能减轻系统压

     力,导致系统一直尝试fgc,服务不可用,cpu彪高

 

(#)然而问题来了,具体怎么检查处理呢?首先,这样,我们先写一段代码来模拟这种情况

  

  执行了这段代码之后,我们会发现cpu的情况,这时候cpu已经彪起来了

    

  并且我们可以看到是21094这个进程占用大部分的cpu,下面就简单多了,我们只需要找到这个进程里面哪些线程占用大部分cpu

  

  这个时候可以发现21328这个线程占用了99%的cpu,那么剩下的我们需要打印出来这个线程的栈信息,转换21328为16进制,结果5350

    这样其实可以很清晰的看出来,这个线程在执行我们的循环代码,所以很容易就定位了问题。

(#)如何这个时候我们发现没有解决问题,也就是发现这个线程是gc线程的时候,虽然没有直接的解决问题,但是我们知道我们的系统正在gc,这个时候就需要分析

   dump信息了.

   可以参考这个博客,其实写的不错,我就不重复写了,没有意义http://www.cnblogs.com/kongzhongqijing/articles/3621163.html      

转载于:https://www.cnblogs.com/wscit/p/6880466.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值