美文网首页
问题排错

问题排错

作者: KeDaiBiaO1 | 来源:发表于2017-09-27 15:34 被阅读0次
    总结一下项目上线之后出现问题怎么排错

    一下几种问题出现的比较多,其他的问题也会有 不过我不知道

    1. 进程退出
    2. OutofMemory
    3. CPU占用高
    一 Java进程被kill

    可以jps查看一下进程是否退出
    进程退出有很多原因

    二 oom

    程序运行过程中 ,如果需要的内存超过了jvm分配的内存就会出现这个问题
    JVM内存模型

    可以搜一个JVM内存模型图

    jvm分非堆内存(主要是程序启动就加载的类所存放的空间)、堆内存(这些是存放写程序时候创建对象的空间)、栈内存(线程占用的内存,可以规定每个线程占用多少内存)、堆外内存(类似C语言自己申请的内存,需要自己释放,不被gc管理),4个相加就是程序运行的最小内存
    如果程序运行期间超过这个就会出现oom
    堆内存分edan、survior、older ,老年代会根据回收机制发生GC
    堆内存不够用的时候会经常发生GC
    list map存在堆内存
    如果使用很大的map可能会发生fullGC,如果是oom问题的话可以检查一下是不是使用了存很多数据的map。

    三 cup过高

    使用命令查看cpu使用情况 会显示us和sy

    us高的情况主要有:

    死循环的时候就会占用很高的cpu;
    程序逻辑循环过多 复杂度过高;
    出现FullGC。

    sy高

    io操作过多解决方法有:
    可以使用缓存
    异步io

    相关文章

      网友评论

          本文标题:问题排错

          本文链接:https://www.haomeiwen.com/subject/peeuextx.html