线上问题

2018-06-13  本文已影响0人  loading_17

cpu100%

  1. 利用top工具找到最耗CPU的进程
  2. 查看该进程中最耗CPU的线程
  3. 通过jstack查找该线程

内存OOM

  1. 有可能是内存分配过小
  2. 对象被频繁申请没有释放
  3. 不断创建线程,不断发起网络连接,资源耗尽

解决:

  1. 确认是不是内存本身分配问题
    jmap -heap pid 通过这个命令可以看到新生代、老年代堆内存的分配大小以及使用情况。
  2. 找到最耗内存的对象
    jmap -histo:live pid|more 会按照所占内存大小排序,每列显示
    • 实例数
    • 所占内存大小
    • 类名
上一篇下一篇

猜你喜欢

热点阅读