zoukankan      html  css  js  c++  java
  • CPU使用率过高问题定位

    (1)top 命令 -》查询出CPU使用率最高的 PID编号。

    (2)top -H p PID编号 -》能查询出所有线程的CPU使用率的列表(线程编号也在PID列)。

    (3)jstack xxxx(进程编号) -》列出当前进程所有线程的堆栈情况。

    (4)将之前的线程编号转成16进制准确查找到指定线程,查看对应的堆栈即可。

    jstat -gcutil pid 1s 命令,查询JVM进程GC情况,发现Full GC短期大量执行,且无法回收年老代内存空间。

    jmap -histo pid > histo.txt命令,打印JVM进程中每个class的实例数目,内存占用,类全名信息,如下:

    • 正常情况刚Yong GC完时的内存占用
       1:        457482       35,387,296  [C
       2:         16678       13,773,280  [I
       3:         63772        9,237,488  [B
       4:        122,459        7,837,376  java.nio.DirectByteBuffer
       5:         53,091        7,193,480  [Ljava.lang.Object;
       6:         90076        6485472  io.netty.channel.DefaultChannelHandlerContext
       7:         59706        4298832  io.netty.buffer.UnpooledUnsafeDirectByteBuf
       8:        122777        3928864  java.util.HashMap$Node
       9:        120320        2887680  java.lang.String
      10:         43714        2447984  io.netty.buffer.UnpooledHeapByteBuf
      Total       2360002      138,412,016
  • 相关阅读:
    Interviewe(hdu3486)
    Cornfields(poj2019)
    C. Watching Fireworks is Fun(Codeforces 372C)
    A. Points on Line
    Fence(poj1821)
    7
    如何使用Visual Studio调试C#程序
    do…while语句
    通过ASP.NET Ajax技术模拟实现NBA比赛文字直播功能
    RecyclerView的基础用法
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12000654.html
Copyright © 2011-2022 走看看