美文网首页
问题排错

问题排错

作者: 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

相关文章

  • 问题排错

    总结一下项目上线之后出现问题怎么排错 一下几种问题出现的比较多,其他的问题也会有 不过我不知道 进程退出 Outo...

  • Caused by: java.lang.Incompatibl

    问题原因:包冲突。排错方法:区别于ClassNotFoundException和ClassNotFoundExce...

  • 解决Failure to find org.glassfish:

    问题描述 Maven项目编译打包报错 排错步骤 使用mvn dependency:tree,找出引用javax.e...

  • 排错

    ping 出现 dup! 解决方案: udev 详解 如果你使用Linux比较长时间了,那你就知道,在对待设备文件...

  • 排错

    1.ERROR 2002 (HY000): Can't connect to local MySQL server...

  • 排错

    1、java.lang.OutOfMemory, unable to create new native thre...

  • hadoop(二)—hadoop配置、运行错误总结

    问题一: 【namenode无法启动,这个问题有很多原因,虽然说应该参照日志文件进行排错,但是我试着看了下日志文件...

  • director配置iptables错误导致访问vip http

    【问题现象】 部署lvs-dr模式负载均衡集群,realserver通过80端口提供http服务。 【排错过程】 ...

  • SSH连接失败排错经验

    SSH连接失败排错经验

  • ifconfig无输出的解决办法

    问题 执行 ifconfig 命令无任何报错,也无任何输出信息 排错 1. 检查PATH变量 若路径 /sbin ...

网友评论

      本文标题:问题排错

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