zoukankan      html  css  js  c++  java
  • 如何处理服务器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      

  • 相关阅读:
    【Java学习】maven生命周期
    【Java学习】Project Structure详解
    html表格宽度设置失效
    1002. A+B for Polynomials (25)
    1001. A+B Format (20)
    自测-3 数组元素循环右移问题
    自测-5 Shuffling Machine
    自测-4 Have Fun with Numbers
    关联规则算法
    自测-2 素数对猜想
  • 原文地址:https://www.cnblogs.com/wscit/p/6880466.html
Copyright © 2011-2022 走看看